$.ajax error 200,jQuery $ .ajaxError()在200上运行 - 好的

Timothy Ruhle

9

ajax

jquery

我有一个全局的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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值