jquery ajax error但状态是200,jQuery $ .ajaxError()在200上运行 - 好的
我有一個全局的ajax錯誤處理程序,即使xhr.status為200,xhr.statusText為“OK”并且xhr.responseText是我的JSON字符串,它仍會運行。這在firefox和IE中發生。
$.ajax({
data: {
method: "getRequestDetails",
loggedInUsername: loggedInUsername,
search: search
},
success: function(data){
var arrayObject = eval("(" + data + ")")['DATA'];
if (arrayObject.length == 0){
alert("That search term returned no results");
} else {
callBeforeShow("Results");
$.each(arrayObject, function(index, value){
showJSON(value, "Results");
});
callAfterShow("Results");
}
}
});
$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError){
var errorMessage = "Ajax Error\n";
errorMessage += "Type: " + ajaxOptions.type + "\n";
errorMessage += "Requesting Page: " + ajaxOptions.url + "\n";
errorMessage += "Status: " + XMLHttpRequest.status + " - " + XMLHttpRequest.statusText + "\n";
errorMessage += "Error Thrown: " + thrownError
alert(errorMessage);
});
在IE中,這表示XMLHttpRequest尚未就緒,而在Firefox中則返回
“AJAX錯誤”
“類型:POST”
“請求頁面:something.CFC”
“狀態:200 - 好”
“錯誤拋出:未定義”
所以我的工作是使用
$(document).ajaxComplete(function(event, XMLHttpRequest, ajaxOptions, errorThrown){
if (XMLHttpRequest.status != 200){
var errorMessage = "Ajax Error\n";
errorMessage += "Type: " + ajaxOptions.type + "\n";
errorMessage += "Requesting Page: " + ajaxOptions.url + "\n";
errorMessage += "Status: " + XMLHttpRequest.status + " - " + XMLHttpRequest.statusText;
alert(errorMessage);
}
});
修改
* 這只發生在某些場合。它大部分時間都有效,但有時會運行$ .ajaxError() *
的EIDT
{"COLUMNS":["ID","SUMMARY_SPEC","TOTAL_EFFORT","EFFORT_HISTORY","LOG_HISTORY"],"DATA":[[816,"test only","2 Minutes - Last Updated: 09\/12\/2010",{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","EFFORT_DATE","EFFORT_DAYS","EFFORT_HRS","EFFORT_MINS","EFFORT_TOT_HRS"],"DATA":[[816,496,"ruhlet","Tim Ruhle","December, 09 2010 00:00:00",0,0,1,0.0167],[816,497,"ruhlet","Tim Ruhle","December, 08 2010 00:00:00",0,0,1,0.0167]]},{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","LOG_DT","LOG_ENTRY"],"DATA":[]}]]}{"COLUMNS":["ID","SUMMARY_SPEC","TOTAL_EFFORT","EFFORT_HISTORY","LOG_HISTORY"],"DATA":[[816,"test only","2 Minutes - Last Updated: 09\/12\/2010",{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","EFFORT_DATE","EFFORT_DAYS","EFFORT_HRS","EFFORT_MINS","EFFORT_TOT_HRS"],"DATA":[[816,496,"ruhlet","Tim Ruhle","December, 09 2010 00:00:00",0,0,1,0.0167],[816,497,"ruhlet","Tim Ruhle","December, 08 2010 00:00:00",0,0,1,0.0167]]},{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","LOG_DT","LOG_ENTRY"],"DATA":[]}]]}{"COLUMNS":["ID","SUMMARY_SPEC","TOTAL_EFFORT","EFFORT_HISTORY","LOG_HISTORY"],"DATA":[[816,"test only","2 Minutes - Last Updated: 09\/12\/2010",{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","EFFORT_DATE","EFFORT_DAYS","EFFORT_HRS","EFFORT_MINS","EFFORT_TOT_HRS"],"DATA":[[816,496,"ruhlet","Tim Ruhle","December, 09 2010 00:00:00",0,0,1,0.0167],[816,497,"ruhlet","Tim Ruhle","December, 08 2010 00:00:00",0,0,1,0.0167]]},{"COLUMNS":["CC_ID","RECORD_ID","USER_ID","USER_NAME","LOG_DT","LOG_ENTRY"],"DATA":[]}]]}
最新版本的firebug將其識別為json。
總結
以上是生活随笔為你收集整理的jquery ajax error但状态是200,jQuery $ .ajaxError()在200上运行 - 好的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于JAVA服务器监控系统设计,远程数字
- 下一篇: 无法将文件ftp服务器上,ftp服务器上