[英]jQuery AJAX multiple calls error handling
我嘗試處理錯誤。 這是我的情況 - 我有來自不同網址的多個AJAX調用。 我想在一些網址響應錯誤500時知道哪個網址是。 這是我的代碼。
var urls = ["url1.php", "url2.php", "url3.php"];
$.each(urls, function(index, value) {
$.ajax({
global: false,
type: 'POST',
url: value,
dataType: 'html',
data: returnData(),
success: function(result) {
switch(value) {
case "url1.php":
break;
case "url2.php":
break;
case "url3.php":
break;
}
},
error: function (e, request, status, error) {
if (e.status == 500) {
alert("500 error");
}
}
});
});
現在,當其中一個返回錯誤500時,我無法知道哪個網址是。 如果有人給出建議,我將非常感激。 提前致謝。
value
變量將在閉包中捕獲。 所以:
alert("500 error from " + value);
更新:因為我不能刪除這個答案,因為這是接受的答案; 這不是更好的答案,請參考Barmar的答案,使用value
變量。
你s̶h̶o̶u̶l̶d̶可能是這樣的:
error: function (e, request, status, error) {
if (e.status == 500) {
alert("500 error" + $(this)[0].url);
}
}
您可能需要調試以確保$(this)[0].url
部分,我只是檢查在我的代碼中的錯誤回調中找到url的位置,它可能與您不一樣? 我不確定。 但是你應該能夠在$(this)對象中找到url。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.