博客
关于我
$ajax({}).done 和 $ajax({}) success 区别
阅读量:789 次
发布时间:2023-01-23

本文共 918 字,大约阅读时间需要 3 分钟。

jQuery 1.5版本之后引入了done方法,与传统的success方法存在显著区别。本文将详细解析AJAX事件处理流程及其区别,并探讨complete事件的重要性。

AJAX事件处理流程

在使用jQuery处理AJAX请求时,序列为:

  • ajaxStart:全局事件,表示请求开始。
  • beforeSend:客户端准备发送请求时触发。
  • ajaxSend:表示服务器接收了请求。
  • success:请求成功时触发,通常伴随着200状态码。
  • ajaxSuccess:全局事件,同样在请求成功时触发。
  • error:请求失败时触发,例如404、403等状态码。
  • ajaxError:全局事件,请求失败时触发。
  • complete:表示请求完成,可以是成功或失败。
  • ajaxComplete:全局事件,表示请求完成。
  • ajaxStop:全局事件,可用于停止正在执行的请求。
  • success与complete的区别

    • success:仅在请求成功且状态码为200时触发。
    • complete:在任何情况下完成请求时触发,包括状态码为404、403、302等。

    为什么使用complete事件

    Ready状态完成之后,complete事件旨在释放资源,确保 DOM 及其他资源得到正确处理。开发者应当在success之后配置complete事件,以进行必要的清理操作。

    技术人员写作风格$

    在实际开发中,建议合理配置AJAX选项,确保事件处理的正确性。例如,可以使用以下代码:

    $.ajax({  url: 'example.php',  method: 'GET',  dataType: 'json',  success: function(res) {},  error: function(xhr, status, err) {},  complete: function(xhr, status) {},  beforeSend: function(xhr) {},  ajaxStart: function() {},  ajaxSend: function() {},});

    通过配置complete事件,可以确保请求完成后执行必要的回调逻辑。

    转载地址:http://aveyk.baihongyu.com/

    你可能感兴趣的文章
    JS系列(仅供参考):【浏览器编程】浏览器F12调试工具面板详解和JavaScript添加断点
    查看>>
    Kali 更换源(超详细,附国内优质镜像源地址)
    查看>>
    kali安装docker(亲测有效)
    查看>>
    Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置
    查看>>
    Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式
    查看>>
    mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法
    查看>>
    Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案
    查看>>
    Nmap渗透测试指南之探索网络
    查看>>
    Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集
    查看>>
    Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务、snmp服务
    查看>>
    PHP系列:PHP 基础编程 2(时间函数、数组---实现登录&注册&修改)
    查看>>
    PHP系列:使用PHP实现登录注册功能的完整指南
    查看>>
    Python&aconda系列:cmd/powershell/anaconda prompt提示“系统找不到指定的路径”(亲测有效)
    查看>>
    Python&aconda系列:conda踩坑记录2.UnsatisfiableError: The following specifications were found to be incompa
    查看>>
    Python&aconda系列:Jupyter Notebook快速上手、深度学习库PyTorch安装
    查看>>
    Python&aconda系列:(W&L)Conda使用faiss-gpu报错及解决办法、安装numpy的坑、cmd执行Python脚本找不到第三方库、安装tensorflow-gpu时遇到的from
    查看>>
    python&anconda 系列:Pycharm在debug问题的N种解决方案(一般程序、web方向、人工智能方向)
    查看>>
    python&anconda系列(亲测有效):tensorflow AttributeError: ‘str’ object has no attribute ‘decode’
    查看>>
    python&anconda系列:tf.keras.backend.get_session()和keras.backend.get_会话()返回不同的会话对象(待解答)
    查看>>
    "WARNING: Increasing RAM size to 1GB" and "Cannot set up guest memory 'xxx.ram': Invalid argument".
    查看>>