easyui 封装ajax
ajaxSend 函数根据需要自定义封装,满足大部分项目需求
函数参数含义:
type: 请求方法“GET”、“POST”等
url: 请求地址
contentType: 设置Content-Type请求头,如果为空,默认是"application/x-www-form-urlencoded"
postdata: 传递参数对象 例如:
var data = {
id: ‘1’,
name:‘lili’,
age:‘20’
}
如果是上传文件则传 “false”
onSuccess: 成功的回调函数
$.fn.ajaxSend = function (type, url,contentType, postdata, onSuccess) {
$.ajax({
url: url,
data: isEmpty(postdata) ? "" : postdata,
type: type,
processData :isEmpty(contentType) ? true : false, // 传入文件时,使数据不做处理
contentType : isEmpty(contentType) ? "application/x-www-form-urlencoded" : contentType, // 设置Content-Type请求头
dataType: "json",
cache: false,
async: false,
beforeSend: function (XMLHttpRequest) {
//正在加载中提示效果
ajaxLoading();
XMLHttpRequest.setRequestHeader("token", sessionStorage.getItem("token"));
},
complete: $.OnAjaxComplete,
success: function (res) {
//关闭正在加载中提示效果
ajaxLoadEnd();
onSuccess(res);
},
error: $.OnAjaxError
});
};
//判断是否为空,返回true,false
function isEmpty(data) {
if(data === undefined || data === null || data === "" ){
return true;
}else{
return false;
}
}
//loading效果
function ajaxLoading(){
$("<div class=\"datagrid-mask\"></div>").css({
display:"block",
width:"100%",
height:$(window).height(),
zIndex: 20000
}).appendTo("body");
$("<div class=\"datagrid-mask-msg\"></div>").html("正在处理,请稍候...").appendTo("body").css({
display:"block",
left:($(document.body).outerWidth(true) - 190) / 2,
top:($(window).height() - 45) / 2,
zIndex: 20001,
height: '45px'
});
}
function ajaxLoadEnd(){
$(".datagrid-mask").remove();
$(".datagrid-mask-msg").remove();
}
调用方法:
var data = {
id: '1',
name:'lili',
age:'20'
}
$(this).ajaxSend("post", "add/addData", "", data, function (res) {
if (res.result === 'Y') { //成功
} else { //失败
}
});