我使用AJAX以下樣式要求:使用函數來處理AJAX錯誤,我如何傳遞額外的參數?
$.ajax({
dataType: "json",
type: "GET",
url: url
}).done(function(result, textStatus, jqXHR) {
if(result.success == 1) {
try {
if(!result.value_that_might_be_null) {
throw new Error("Value is null");
}
} catch(err) {
ajaxError(jqXHR, err.message);
}
} else {
throw new Error("Unsuccessful");
}
}).fail(ajaxError);
function ajaxError(jqXHR, textStatus, errorThrown) {
console.log('jqXHR: ' + jqXHR);
console.log('status: ' + textStatus);
console.log('error: ' + errorThrown);
}
這讓我有很好的控制了我的AJAX調用和可測試不存在一定的值,被設置爲錯誤的東西等
但是,我有幾個不同的AJAX調用,每個調用都在.done()回調中做了很多不同的事情,這意味着它們需要分離,而不是重新考慮到類中。
但是我的問題是,當通過try/catch語句調用它時,如何向ajaxError()添加額外的參數?
可我只是這樣做:
function ajaxError(jqXHR, status, error, additionalParameter = null) {
//blah blah blah
}
ajaxError(jqXHR, errorMessage, errorThrown, myAdditionalParameter);
[從失敗的jqXHR請求中獲取更多信息]的可能重複(http://stackoverflow.com/questions/26518699/get- jquery-jqxhr-request) – pistou