Javascript jquery模块化ajax调用
有人能解释一下吗,我有多个Javascript jquery模块化ajax调用,javascript,jquery,ajax,Javascript,Jquery,Ajax,有人能解释一下吗,我有多个GETajax调用,只有几行代码,但我基本上在每个函数上重复$.ajax({}) 我可以用一个$.ajax({})函数代替它,并在函数上使用它,这样我就不必每次都重复$.ajax({}) 也许是这样,但我肯定这是不对的,但这只是一个概念 function ajaxCall(url, method) { $.ajax({ url: url, method: method, success: function(){ } // however this s
GET
ajax调用,只有几行代码,但我基本上在每个函数上重复$.ajax({})
我可以用一个$.ajax({})
函数代替它,并在函数上使用它,这样我就不必每次都重复$.ajax({})
也许是这样,但我肯定这是不对的,但这只是一个概念
function ajaxCall(url, method) {
$.ajax({
url: url,
method: method,
success: function(){ } // however this should come in the below function
})
}
function firstCall() {
var url = 'www.urlsample.com';
var methodType = 'GET'
ajaxCall(url, methodType).success() // get the data from this function?
}
这有可能吗?这是为了避免对每个函数重复ajax调用 jQuery的.ajax()
方法返回承诺包装器
function ajaxCall(url, method) {
// return promise
return $.ajax({
url: url,
method: method
});
}
function firstCall() {
var url = 'www.urlsample.com';
var methodType = 'GET'
ajaxCall(url, methodType).then(function( result ) {
// success handler
}, function( error ) {
// error handler
});
}
jQuery的.ajax()
方法返回承诺包装器
function ajaxCall(url, method) {
// return promise
return $.ajax({
url: url,
method: method
});
}
function firstCall() {
var url = 'www.urlsample.com';
var methodType = 'GET'
ajaxCall(url, methodType).then(function( result ) {
// success handler
}, function( error ) {
// error handler
});
}
您可以这样做,但您所做的只是包装
$.ajax
,因此它非常冗余。有更好的解决方案吗?没有。与直接调用$.ajax
相比,您所遵循的模式没有任何好处。如果您想为所有AJAX请求研究设置默认选项,$.ajaxSetup()
,您可以这样做,但您所做的只是包装$.AJAX
,因此它非常冗余。有更好的解决方案吗?没有。与直接调用$.ajax
相比,您所遵循的模式没有任何好处。如果要为所有AJAX请求研究设置默认选项,$.ajaxSetup()
如果调用失败,如何在firstCall
中添加错误处理程序?我刚刚编辑了的答案。then()
同时处理成功和错误处理程序。IIRC jQuery的承诺包装器还提供了处理拒绝承诺的.fail()
方法。如果调用失败,如何在firstCall
中添加错误处理程序?我刚刚编辑了.then()
的答案,它同时处理成功和错误处理程序。IIRC jQuery的承诺包装器还提供了处理拒绝承诺的.fail()
方法。