我有几个非常相似的 url ajax 请求,但应该对不同点的响应做不同的事情。因此,我没有在每次需要时都编写新的 ajax 调用,而是尝试将 ajax 调用作为带参数的函数重用:
function createAjaxObj(type,name,id,successFunc){
var config = {
url: MY_URL,
type: type,
data: {
name : name,
id : id,
},
headers: { "X-CSRFToken": returnCsrfToken(); },
success: successFunc,
error: function(xhr,ajaxOptions, thrownError) { console.log('error=',xhr);},
};
$.ajax(config);
}
所以现在,我计划每次需要时都调用这个函数:
var myFunc = function(context){console.log(context)}
createAjaxObj("GET","MyName",58,myFunc)
我想知道这是一个好主意还是常见做法,或者是否有更简单的方法来实现这一点?
最佳答案
我会以 Promise 的方式来做:
function myAjax(type, name, id) {
return $.ajax({
url: MY_URL,
type: type,
data: {
name : name,
id : id,
},
headers: { "X-CSRFToken": returnCsrfToken(); })
})
.fail(function(){
console.log('error');
});
}
var myFunc = function(context){ console.log(context); };
myAjax("GET", "MyName", 58).then(myFunc);
关于javascript - 重用相同的 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105927/