我正在努力寻找实现这一目标的好方法。如果您有任何其他更好的建议,我会全力以赴。
基本上,我的网站有一堆ajax调用。但是,我觉得这些应该以这样的方式调用,所以我不必重复代码。特别是beforeSend方法。我不想每次都要输入下面的检查方法。我如何处理这个,所以我不必每次都输入检查方法?他们可以在下面提到的方法中添加不同的方法,但总是必须调用下面的2。我甚至可以用不同的方式实例化ajax调用。
目前,我有各种各样的风格:
var Params = {};
Params.type = "POST";
Params.url = '/this/is/my/url';
Params.cache = false;
Params.timeout = 180000;
Params.processData = true;
Params.data = {
action: "ajax",
method: "coolMethod",
};
Params.dataType = "json";
Params.beforeSend = function () {
checkIfUserHasLoggedOut();
checkSomeOtherThings();
};
Params.error = function (xhr, status, error) {
};
Params.success = function (data) {
};
答案 0 :(得分:2)
您可以使用$.ajaxSetup()设置ajax请求的默认参数
jQuery.ajaxSetup({
cache: false,
timeout: 180000,
processData: true,
dataType: 'json',
beforeSend: function () {
checkIfUserHasLoggedOut();
checkSomeOtherThings();
}
})
然后将$.ajax()与特定参数一起使用,这些参数在所有调用中都会发生变化
$.ajax({
type: 'POST',
url: '',
data: {...},
success: ....,
failure: ....
})