美文网首页
JQuery $.ajax 捕获异常信息

JQuery $.ajax 捕获异常信息

作者: simplehu | 来源:发表于2017-09-19 14:37 被阅读0次

    转自http://blog.csdn.net/wenle006/article/details/7022240

    一、error:
    error:function (XMLHttpRequest, textStatus, errorThrown) 
    { 
    } 
    

    (默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象、XMLResponse对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。

    • textStatus:

    "timeout", "error", "notmodified" 和 "parsererror"。

    二、error事件返回的第一个参数XMLHttpRequest有一些有用的信息:
    • XMLHttpRequest.readyState:

    状态码

    0 - (未初始化)还没有调用send()方法
    1 - (载入)已调用send()方法,正在发送请求
    2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
    3 - (交互)正在解析响应内容
    4 - (完成)响应内容解析完成,可以在客户端调用了

    三、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror.
    四、parsererror的异常和Header 类型也有关系。及编码header('Content-type: text/html; charset=utf8');

    eg:python cgi+js:
    前端调用python 已经print result了,但是前端并没有收到,依然pendding,一直是Provisional headers are shown,当结束进程时,前端返回200,此时会把之前的result打印出来并附带了cgi的头,如下:导致textStatus为parsererror

    {"msg": "excute plan done", "retcode": "success"}
    Content-type: text/plain

    可以使用:chrome://net-internals/#events查看问题

    相关文章

      网友评论

          本文标题:JQuery $.ajax 捕获异常信息

          本文链接:https://www.haomeiwen.com/subject/zobwsxtx.html