AJAX 封装
发布时间:2020-12-16 03:35:10 所属栏目:百科 来源:网络整理
导读:$(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(),"state": 1} * async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 *
$(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(),"state": 1} * async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 * 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 * type 请求方式("POST" 或 "GET"), 默认为 "GET" * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text * successfn 成功回调函数 * errorfn 失败回调函数 */ jQuery.syncAjax=function(url,data,async,type,dataType,successfn,errorfn) { async = (async==null || async=="" || typeof(async)=="undefined")? "true" : async; type = (type==null || type=="" || typeof(type)=="undefined")? "post" : type; dataType = (dataType==null || dataType=="" || typeof(dataType)=="undefined")? "json" : dataType; data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data; $.ajax({ type: type,async: async,data: data,url: url,dataType: dataType,success: function(d){ successfn(d); },error: function(e){ errorfn(e); } }); }; /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(),"state": 1} * successfn 成功回调函数 */ jQuery.jsonAjax=function(url,successfn) { data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data; $.ajax({ type: "post",dataType: "json",success: function(d){ successfn(d); } }); }; /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(),"state": 1} * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text * successfn 成功回调函数 * errorfn 失败回调函数 */ jQuery.jsonAjax2=function(url,errorfn) { data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data; $.ajax({ type: "post",error: function(e){ errorfn(e); } }); }; }); // 自己用 function MyPost(url,postdata,onstart,onend,onsucc,onfail,sync,timeout) { onstart && onstart();//加载中 if (!timeout) { timeout = 10000; } $.ajax({ url: url,type: 'POST',data: postdata,async: !sync,//sync表示是否采用同步请求 timeout: timeout,success: function (data) { onend && onend();//加载完成 try { var d; if (typeof data == 'string') { d = $.parseJSON(data); } else { d = data; } if (d['return_code'] + '' == '0') { if (typeof d['data'] == 'string') { if (d['data'] != '') d['data'] = $.parseJSON(d['data']); else d['data'] = {}; } onsucc && onsucc(d['data'],d['return_message']); } else { onfail && onfail(d['data'],d['return_message'],d['return_code']); } } catch (e) { console && console.log(e); onfail && onfail(); } },error: function (msg,status) { onend && onend(); onfail && onfail(); } }); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |