我有一个全局的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上运行 - 好的相关推荐

  1. 服务器阵列状态显示verify,如何在CLARiiON阵列上运行后台校验(Background Verify)命令...

    如何在CLARiiON阵列上运行后台校验(Background Verify)命令 介绍 后台校验进程在后台运行,它会扫描所有数据,并在各种异常现象出现使得错误变得无法纠正之前,修复软错误和数据不一致 ...

  2. jquery ajax error函数和及其参数详细说明

    转:https://blog.csdn.net/qq_34627002/article/details/80609689 用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函 ...

  3. jQuery ajax error函数(交互错误信息的获取)

    一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown).常见调用代码如下: $.ajax({ur ...

  4. ajax error 400 4,jquery - ajax error 400 bad request - Stack Overflow

    I am trying to upload file using ajax in yii2. but it browser console it shows 400 Bad Request in my ...

  5. reactjs jquery ajax,如何在ReactJS中使用JQuery

    qq_遁去的一_1 您应该尝试避免在ReactJS中使用jQuery.但是,如果您真的想使用它,可以将其放在组件的componentDidMount()生命周期函数中.例如class App exte ...

  6. jquery.ajax的url中传递中文乱码问题的解决方法

    jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuer ...

  7. ajax返回报错html,Jquery AJAX POST调用返回200状态确定,但错误

    嗨我已经实现了一个Ajax POST请求来调用Web服务.它总是返回200行,但执行失败的事件我已经尝试了很多事情,但我没有得到我犯的错误.我在这里添加我的代码. Fiddler显示响应内容,但Aja ...

  8. Jquery Ajax时 error处理 之 parsererror

    Jquery Ajax时 error处理 之 parsererror     01 $.ajax({ 02         type: "POST", 03         con ...

  9. ajax 错误信息error,jquery ajax的error错误信息

    项目开发中ajax的异常处理起来算是比较头疼的,因为是异步请求,所以即使ajax异常程序依然会继续执行,导致找ajax的异常比较麻烦. 今天处理ajax异常时搜到一篇文章,提到error可以返回aja ...

最新文章

  1. SAP WM Storage Type Search配置里的Storage Class WPC标记
  2. 数据显示:7月份BCH链上交易量较3月份激增逾900%
  3. 北邮OJ 85. Three Points On A Line
  4. 通过PageSpeed优化网站性能
  5. C#使用SQLite数据库的代码示例
  6. 中国喷漆室保护膜市场趋势报告、技术动态创新及市场预测
  7. PHP实现伪静态化页面的具体实现方式
  8. centos www服务器文件unable create,Centos Vsftpd 无上传权限 (553 Could not create file)
  9. IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
  10. 某高校校园网的规划与设计(课程设计)
  11. 大数据时代,做数据分析报告的基本流程
  12. 微信小程序支付---详解(python)
  13. android微信配色,万能微信公众号配色模板(神仙配色太好看了)
  14. Android 项目必备(十七)-->实现身份证认证功能
  15. 【已解决】华为P10禁止系统更新EMUI9
  16. 【工业智能】用AI来做工业设备的故障诊断,目前还停留在“鸡尾酒疗法”阶段
  17. 清华大学,北京大学,浙江大学公布计算机考研校线!有的不变,有的下降5分!...
  18. 【缓存】@Caching和@CacheConfig
  19. 转换MP3工具(Streambox RipperRM)
  20. ACPI on ARMv8 Servers

热门文章

  1. kali安装tools
  2. php写新闻浏览历史,PHP实现浏览历史记录
  3. [Python人工智能] 三十.Keras深度学习构建CNN识别阿拉伯手写文字图像
  4. iOS之深入解析自动释放池autoreleasepool的底层原理
  5. RxSwift之深入解析map操作符的底层实现
  6. iOS经典面试题之深入解析类Class的iskindOfClass与isMemberOfClass的底层原理
  7. iOS之实现图片的压缩、解压缩、模糊、置灰、马赛克、黑白化、调色等处理
  8. 做人工智能必看的 45 篇论文,附下载地址 | 文末有彩蛋
  9. 《数据库原理与应用》(第三版) 第4章SQL Server 2012基础 习题参考答案
  10. 1029:计算浮点数相除的余