自定义jquery AJAX方法

时间:2013-11-29 04:14:46

标签: javascript jquery ajax

我正在努力寻找实现这一目标的好方法。如果您有任何其他更好的建议,我会全力以赴。

基本上,我的网站有一堆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) {

    };

1 个答案:

答案 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: ....
})