3

我正在处理大量 ajax 调用,其中大多数具有相同的参数。我正在考虑使用jquery.ajaxSetup()来减少代码。

然而,jQuery 不喜欢它的 API。它说:

Note: The settings specified here will affect all calls to $.ajax or AJAX-based 
derivatives such as $.get(). This can cause undesirable behavior since other callers (for 
example, plugins) may be expecting the normal default settings. For that reason we
strongly recommend against using this API. Instead, set the options explicitly in the call
or define a simple plugin to do so.

有没有办法实现这一点,所以它不会触及每个 js 文件,包括插件?我现在没有使用与 ajax 一起工作的外部 jQuery 插件,但如果可能的话,我想为未来的开发人员提供未来证明。jQuery 是否有可能从它的 API 中删除它?

4

1 回答 1

4

用这样的代码包装 ajax() 调用怎么样:

var sendAjax = function (options) {
    var type = 'GET';
    var dataType = 'json';
    var success = options.onsuccess || function () {};
    var error = options.onerror || function () {};
    var url = options.url;
    var data = options.data;
    $.ajax({
        type: type,
        url: url,
        data: data,
        dataType: dataType ,
        success: success ,
        error: error
    });
};

然后将您的 ajax 调用替换为 sendAjax();

于 2013-05-20T12:36:45.623 回答