gpt4 book ai didi

javascript - 将 jQuery.ajaxSetup 范围限制在特定对象内

转载 作者:行者123 更新时间:2023-11-29 10:49:33 25 4
gpt4 key购买 nike

这可能很奇怪,但我正在寻找的是如何使 jQuery.ajaxSetup() 的范围仅在特定对象内。让我举个例子,我有两个对象 obj_1obj_2。我想以这样一种方式编写 ajaxSetup,即我在一个对象内的所有 ajax 调用都将使用一组参数,而我在第二个对象中的所有调用都将使用另一组参数。

例如

var obj_1 = {

my_func : function(){

$.ajax({
success : function(){
// do something
// all ajax calls in this object should use one set of params (type,dataType,headers etc)
}
})

}

};

var obj_2 = {

my_func : function(){

$.ajax({
success : function(){
// do something
// all ajax calls in this object should use different params (type,dataType,headers etc)
}
})

}

};

我想这样做,这样我就不必在每个 ajax 调用中都编写所有参数。

最佳答案

最好的办法是创建一个供对象使用的函数,并让它在执行 ajax 调用时设置参数。该对象使用该函数而不是直接调用 ajax。例如,一个简单的包装函数。

或者,您可以在您重用的每个对象上拥有一个 standardParams 属性,或许混合特定于调用的参数。像这样的东西:

var obj_x = {
standardParams: {
// These are the params that don't vary
dataType: "json" // Or whatever
},

your_func: function() {
$.ajax($.extend({}, this.standardParams, {
// These are the params that vary
success: function() { ... }
}));
    }
};

(注意使用 jQuery.extend 来混合每次调用和标准参数。)

当然,您可以结合使用两者(一个包装函数,它在幕后使用 standardParams 属性)。

关于javascript - 将 jQuery.ajaxSetup 范围限制在特定对象内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com