小猪之前写了这么个代码:
AJAX = function (data, url, beforesendfn, onsuccessfn, onerrorfn, oncomplete) {
$.ajax({
type: "POST",
url:url
cache: false,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: beforesendfn,
success: onsuccessfn,
error: onerrorfn,
complete: oncomplete
});
}
这段代码实际上是没有什么问题的。
但是在调用代码的时候小猪使用了的参数
var action = url == undefined ? "" : url;
这样在没有定义url的情况下url转换成“”。本意是想Post到当前页面地址。
在Chrome下和FireFox下都是没问题的,但是在IE下却不能post到对应地址。
所以为了兼容IE 小猪只好写了下述可怜的代码
AJAX = function (data, url, beforesendfn, onsuccessfn, onerrorfn, oncomplete) {
if (url == undefined || url == "") {
$.ajax({
type: "POST",
cache: false,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: beforesendfn,
success: onsuccessfn,
error: onerrorfn,
complete: oncomplete
});
} else {
$.ajax({
type: "POST",
url:url,
cache: false,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: beforesendfn,
success: onsuccessfn,
error: onerrorfn,
complete: oncomplete
});
}
}