zoukankan      html  css  js  c++  java
  • ajax中什么时候进success和error

    先简单介绍下ajax:

    简单的说Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState):
    
    0-未初始化、1-正在初始化、2-发送数据、3-正在发送数据、4-完成。
    
    当XMLHttpRequest.readyState为4时,表示ajax请求已经完成可以得到响应结果。
    
    ajax的success和error方法根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error()。
    
    除了根据响应状态码外,ajax还会在下列情况下走error方法:
    
        返回数据类型不是JSON
    
        网络中断
    
        后台响应中断

     error:

    常见错误:

    1. dataType错误

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

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

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

      如果你在success中使用eval处理数据就是这个错误了!!!

    2. async请求同步异步问题

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

    3. data不能不写

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

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

    4. 传递的参数

        必须是ajax支持的编码格式

    5. URL路径问题

        路径不能有中文

  • 相关阅读:
    Codeforces Round #603 (Div. 2) E. Editor(线段树)
    Codeforces Round #603 (Div. 2) D. Secret Passwords(并查集)
    Java的DAO设计模式
    js实现本地时间同步
    循环播放
    正则表达式(2)
    正则表达式(1)
    第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
    第十七个知识点:描述和比较DES和AES的轮结构
    第四十一个知识点 所有的侧信道分析都是能量分析吗
  • 原文地址:https://www.cnblogs.com/zouhong/p/11798503.html
Copyright © 2011-2022 走看看