我写了一个函数,它依次进行ajax调用。我在我的所有页面中都使用了这个。
function getFunc(fullURL, successCallback, errorCallback) {
$.ajax({
type : 'GET',
url : fullURL,
async : false,
dataType : 'json',
success : successCallback,
error : errorcallback
});
}
并按如下方式调用该函数 -
getFunc(someurl,
function(data){
//display data
},
function(xhr, textStatus, errorThrown){
//display errors
}
);
这段代码工作正常。现在我必须添加一些默认的错误处理代码,该代码适用于所有调用 getFunc(..) 的网页,但我不想进入每个网页并执行此操作。我怎样才能在getFunc(..)
中做到这一点?
即我需要一种方法来做到这一点-
function getFunc(fullURL, successCallback, errorCallback) {
$.ajax({
type : 'GET',
url : fullURL,
async : false,
dataType : 'json',
success : successCallback,
error : do some default error handling and then call errorCallback
});
}
最佳答案
为什么不将匿名函数传递给 error
而不是 errorcallback
。让函数执行一些操作,然后在完成后调用 errorcallback
。
function getFunc(fullURL, successCallback, errorCallback) {
$.ajax({
type: 'GET',
url: fullURL,
async: false,
dataType: 'json',
success: successCallback,
error: function(xhr, textStatus, errorThrown){
// Do whatever
// ...
// Then call errorCallback
errorCallback.apply(this, arguments);
}
});
}
关于javaScript:添加默认错误回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153038/