//事件触发顺序ajaxStart,ajaxSend,ajaxSuccess或ajaxError,ajaxComplete,ajaxStop

$(document).ajaxStart(function (event) {
/*
* 每一个ajax即将发送的时候触发该事件,只有一个事件对象参数
*/
console.log('ajaxStart');
}) $(document).ajaxSend(function (event,xhr,opts,err) {
/*
* 每一个ajax即将发送的时候触发该事件
* 此方法接受四个参数,分别是事件对象,XHR对象,和发起ajax请求的配置对象,错误信息
*/
if(opts.type == 'get'){
xhr.abort();
}
}) $(document).ajaxSuccess(function (event,xhr,opts) {
/*
* 此方法接受三个参数,分别是事件对象,XHR对象,和发起ajax请求的配置对象
* 每一个ajax请求成功都会触发该事件
* 配置对象中的success回调会先执行,然后再执行这个事件
*/
console.log(JSON.parse(xhr.responseText))
}) $(document).ajaxError(function (event,xhr,opts,err) {
/*
* 此方法接受四个参数,分别是事件对象,XHR对象,和发起ajax请求的配置对象,错误信息
* 每一个ajax请求失败都会触发该事件
* 配置对象中的error回调会先执行,然后再执行这个事件
* 如果是客户端错误导致请求失败,err的值有可能是timeout,error,abort,或者是抛出错误异常对象
*/
console.log(err)
}) $(document).ajaxComplete(function (event,xhr,opts) {
/*
* 此方法接受三个参数,分别是事件对象,XHR对象,和发起ajax请求的配置对象
* 每一个ajax请求完成都会触发该事件,不管请求的结果如何
* 配置对象中的complete回调会先执行,然后再执行这个事件
*/
}) $(document).ajaxStop(function (event) {
/*
* 此方法只接受一个事件对象参数,此事件只触发一次
* 当所有ajax请求完成的时候调用一次,不管ajax请求的状态是失败还是成功或是被取消
*/
})

注意:ajaxStart和ajaxSend事件必须放在ajax请求代码之前,不然不会触发

ajax请求中的6个全局事件的更多相关文章

  1. 在ajax请求中,contentType 和 dataType 的区别?

    一.在ajax请求中,contentType 和 dataType 的区别? 1.contentType 内容类型. 1.1默认是 "application/x-www-form-urlen ...

  2. Ajax请求中的Redirect()

    页面中有一个IsLogin()方法,用以判断该请求的触发者是否登录,如果登录了,则执行查询操作,如果没有登录,则Redirect()至登录界面 页面使用了较多的Ajax请求来获取数据,而在Ajax请求 ...

  3. php中AJAX请求中使用post和get请求的区别

    之前使用这两个请求的时候,主要从几个方面考虑: 1.语义,get就是从服务器获取,一般就是获取/查询资源信息.post就是提交给服务器,一般就是更新资源信息. 2.请求文件大小,get一般只有2k这样 ...

  4. Ajax请求中的async:false/true的作用【转载】

    [Ajax请求中的async:false/true的作用] 作者:https://www.cnblogs.com/mmzuo-798/p/7098979.html 前言: 昨天在做倒计时修改的时候,发 ...

  5. Ajax请求中的async:false/true

    Ajax请求中的async:false/trueasync. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的succes ...

  6. jquery Ajax请求中显示Loading...

    jquery Ajax请求中显示Loading... $('#btnTest').click(function(){      $.ajax({           url ---- ,根据你需要设置 ...

  7. AJAX请求中含有数组解决办法

    当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台,比如有这样一个数据需要发送给后台: { "orderId": 22, &quo ...

  8. ajax请求中设置特殊的RequestHeader

    现在ajax应用已经相当广泛了,有很多不错的ajax框架可供使用.ajax是一个异步请求,也主要是一种客户端的脚本行为.那么,如何在请求之前为请求添加特殊的一些头部信息呢? 下面是一个简单的例子,我用 ...

  9. jquery ajax 请求中多出现一次OPTIONS请求及其解决办法

    http://www.tangshuang.net/2271.html 在上一篇<服务端php解决jquery ajax跨域请求restful api问题及实践>中,我简单介绍了如何通过服 ...

随机推荐

  1. Storm中关于Topology的设计

    一:介绍Storm设计模型 1.Topology Storm对任务的抽象,其实 就是将实时数据分析任务 分解为 不同的阶段 点: 计算组件   Spout   Bolt 边: 数据流向    数据从上 ...

  2. hibernate update 只更新部分字段的3种方法(转载)

    hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: public class Teacher Test { @Test p ...

  3. oracle中tables和views的区别

    tables存储的行和列的数据,可以做任何操作 views存储的是算法,是虚拟的数据

  4. Django 学习第二天——URL路由及模板渲染方式

    URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...

  5. SQL try

    BEGIN TRY -- Generate a constraint violation error. DELETE FROM Production.Product ; END TRY BEGIN C ...

  6. Python学习——异常处理

    1.异常基础: 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面 基本语法: try: pass except Exception as e: pri ...

  7. 洛谷.2590.[ZJOI2008]树的统计(树分块)

    题目链接 Update:这种分块写法...可以被卡掉啊... 好像没有靠谱的树分块写法... /* 对树上节点进行分块,每个点记录dep,fa,val,Max,Sum,Max,Sum表示当前点在该块内 ...

  8. Process多进程的创建方法

    '''方式一:函数的多进程''' from multiprocessing import Process import time def test(): ): print(i) time.sleep( ...

  9. maven遇到的一些问题

    (1)在加载的时候pom.xml文件是和src同级的,当在pom.xml导入jar包时一定要先把jar包所在的项目mvn install否则会报找不到的错误 (2)怎么找到maven原有的仓库? 找到 ...

  10. UITableView滚动优化(RunLoop)

    链接: 利用RunLoop优化tableView RunLoop方式优化加载tableview RunLoop总结:RunLoop的应用场景(三)滚动视图流畅性优化 TableView加载图片的优化逻 ...