• 技术文章 >web前端 >前端问答

    ajax中error在什么时候使用

    长期闲置长期闲置2021-12-28 11:23:25原创211

    error使用情况:1、当后台返回的dataType类型和前台写的不一致时使用;2、当async请求同步异步问题时使用;3、当data设置为空时使用;4、当传递的参数不是ajax支持的编码格式时使用。

    本文操作环境:windows7系统、javascript1.8.5&&html5版、Dell G3电脑。

    ajax中error在什么时候使用

    类型错误:后台返回的dataType类型和前台写的不一致会跳入error。

    格式错误:jquery1.4之后对json的格式要求非常严格,json格式错误也会跳入error.{“test”:1} 注意格式

    有时,在不需要返回值的情况下,扔按模板格式,设置了dataType:”json”,参数;这时候,ajax传值正确时,出现200返回成功状态下报错的特殊情况。

    如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

    “xml”: 返回 XML 文档,可用 jQuery 处理。

    “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

    “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

    “json”: 返回 JSON 数据 。

    “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

    “text”: 返回纯文本字符串

    async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false

    例如,你用post请求传值到另一个页面后台,但是页面一加载你的ajax就已经执行过了,传值接收是在后台才完成的,这时候就请求不到数据,所以可以考虑把ajax请求改为同步试试。

    data为空也一定要传”{}”;不然返回的是xml格式的。并提示parsererror. data:”{}”

    parsererror的异常和Header 类型也有关系。及编码header(‘Content-type: text/html; charset=utf8’);

    必须是ajax支持的编码格式

    路径不能有中文

    一般我们可以通过分析error中的一些参数进行错误原因的判断:

    XMLHttpRequest.readyState: 状态码

    0 - (未初始化)还没有调用send()方法

    1 - (载入)已调用send()方法,正在发送请求

    2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

    3 - (交互)正在解析响应内容

    4 - (完成)响应内容解析完成,可以在客户端调用了

    XMLHttpRequest.status:调用http请求状态

    请求状态有很多,具体遇到错误状态代码可以自行百度查询。

    XMLHttpRequest.responseText:返回的错误信息

    如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是”timeout”, “error”, “notmodified” 和 “parsererror”。

    【相关教程推荐:AJAX视频教程

    以上就是ajax中error在什么时候使用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ajax
    上一篇:html5中top是什么意思 下一篇:html的盒子模型有几种
    PHP编程就业班

    相关文章推荐

    • ajax中post和get有什么区别• ajax的框架有哪些• ajax单词是什么意思• ajax为什么不能后退• ajax有什么用

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网