ajax请求中的6个全局事件
//事件触发顺序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个全局事件的更多相关文章
- 在ajax请求中,contentType 和 dataType 的区别?
一.在ajax请求中,contentType 和 dataType 的区别? 1.contentType 内容类型. 1.1默认是 "application/x-www-form-urlen ...
- Ajax请求中的Redirect()
页面中有一个IsLogin()方法,用以判断该请求的触发者是否登录,如果登录了,则执行查询操作,如果没有登录,则Redirect()至登录界面 页面使用了较多的Ajax请求来获取数据,而在Ajax请求 ...
- php中AJAX请求中使用post和get请求的区别
之前使用这两个请求的时候,主要从几个方面考虑: 1.语义,get就是从服务器获取,一般就是获取/查询资源信息.post就是提交给服务器,一般就是更新资源信息. 2.请求文件大小,get一般只有2k这样 ...
- Ajax请求中的async:false/true的作用【转载】
[Ajax请求中的async:false/true的作用] 作者:https://www.cnblogs.com/mmzuo-798/p/7098979.html 前言: 昨天在做倒计时修改的时候,发 ...
- Ajax请求中的async:false/true
Ajax请求中的async:false/trueasync. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的succes ...
- jquery Ajax请求中显示Loading...
jquery Ajax请求中显示Loading... $('#btnTest').click(function(){ $.ajax({ url ---- ,根据你需要设置 ...
- AJAX请求中含有数组解决办法
当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台,比如有这样一个数据需要发送给后台: { "orderId": 22, &quo ...
- ajax请求中设置特殊的RequestHeader
现在ajax应用已经相当广泛了,有很多不错的ajax框架可供使用.ajax是一个异步请求,也主要是一种客户端的脚本行为.那么,如何在请求之前为请求添加特殊的一些头部信息呢? 下面是一个简单的例子,我用 ...
- jquery ajax 请求中多出现一次OPTIONS请求及其解决办法
http://www.tangshuang.net/2271.html 在上一篇<服务端php解决jquery ajax跨域请求restful api问题及实践>中,我简单介绍了如何通过服 ...
随机推荐
- maven添加插件,与maven打包
1.编译插件 添加编译器插件来告诉 Maven 使用哪个 JDK 版本是用来编译项目. 2.pom <plugin> <groupId>org.apache.maven.plu ...
- 022 Spark shuffle过程
1.官网 http://spark.apache.org/docs/1.6.1/configuration.html#shuffle-behavior Spark数据进行重新分区的操作就叫做shuf ...
- Chameleon
# -*- coding: utf-8 -*- """ Created on Tue Dec 18 09:55:16 2018 @author: Mark,LI &quo ...
- 蛋疼的mocha库-promise异步测试
mocha 测试库的使用 错误的处理异步测试 异步当出现断言错误的时候,他会抛出错误,但不会把这次测试当作失败,就是正确的顺利通过测试了,很无语. promise的reject会在then的第二个函数 ...
- win10搭建tensorflow-gpu环境
昨天辛苦的配了GPU环境,记录一下防止以后还需要用到. 我配GPU的目的是用tensorflow的gpu来加速 不用ubuntu是因为一来不习惯,二来我不会配ubuntu的扩展显示器,就更不习惯了,习 ...
- Java定时线程池停止超时任务
一.背景题主最近遇到一个问题,本来通过ScheduledExecutorService线程池定时调度一个任务.奈何不知道为啥跑了2个多月,其中一个任务Hang住了,原本定时的任务则出现了问题. 关于定 ...
- SQLite中的WHERE子句
SQLite中的WHERE子句 WHERE子句用于从FROM子句生成的工作表中过滤行.它提供了对每一行进行判断的表达式.当表达式返回的值为false或NULL时,此行就会被丢弃.这种丢弃只是删除记录, ...
- N=NP?
#include<stdio.h> ],b[]; int len(char a[]) { ; while(a[i]!='\0') ++i; return i; } int who(char ...
- Python学习——异常处理
1.异常基础: 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面 基本语法: try: pass except Exception as e: pri ...
- 20172302 《Java软件结构与数据结构》第二周学习总结
2018年学习总结博客总目录:第一周 第二周 教材学习内容总结 第三章 集合概述-栈 3.1 集合 (1) 集合是一种聚集,组织了其他对象的对象.它定义一张破那个特定的方式,可以访问.管理所包含的对象 ...