[js开源组件开发]network异步请求ajax的扩展

时间:2023-03-08 16:17:08

network异步请求ajax的扩展

在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loading效果。所以我做network这个组件来扩展$.ajax,希望全中国的人民们喜欢。

这里使用到了上篇[js开源组件开发]loading加载效果 一个loading效果,但为了让它独立运行,所以没有进行引用,而是直接做了一个loading方法在里面。它的具体效果图如下:

[js开源组件开发]network异步请求ajax的扩展

它的实例DEMO地址请点击这里http://www.lovewebgames.com/jsmodule/network.html

network的github源码托管在这里https://github.com/tianxiangbing/network

API

ajax:({},target)

    ajax调用,settings同jquery的ajax,但多了一个oneRequest参数,此参数有时,会标识该请求只能成功发送一次,判断成功的标准是oneRequest返回true.
target当传入此参数时loading将在target上loading,如果不传,加载效果就是全屏的。

$('#btn-send').click(function() {
Network.ajax({
url: "/ajax.json",
data: "a=1",
beforeSend: function() {
console.log('发起请求')
},
oneRequest:function(result){
if(result.status){
return true;
}else{
return false;
}
}
},this).done(function() {
console.log('请求结束')
});
});

get:(url,data,fun,dataType)

同jquery的get方法,以get方式的ajax请求,这里没有target,为全屏加载效果

post:(url,data,fun,dataType)

同$.post,以post方式的ajax请求,也是全屏的加载效果