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问题及实践>中,我简单介绍了如何通过服 ...
随机推荐
- Strom在本地运行调试出现的错误
1.错误日志 31385 [main] WARN backtype.storm.daemon.nimbus - Topology submission exception. (topology nam ...
- oracle中tables和views的区别
tables存储的行和列的数据,可以做任何操作 views存储的是算法,是虚拟的数据
- P1862输油管道问题
P1862输油管道问题. . . . .-----------------. . . . . .图像大体是这样,是带权平均数问题,设答案是k,sigama(abs(yi-k*wi))最小,这里的wi是 ...
- C#全能数据库操作类及调用示例
C#全能数据库操作类及调用示例 using System; using System.Data; using System.Data.Common; using System.Configuratio ...
- zookeepercli - Command Line Interface for ZooKeeper
简介 ZooKeeper命令行界面(CLI)用于与ZooKeeper进行交互以用于开发目的.它对于调试很有用. 要执行ZooKeeper CLI操作,首先打开你的ZooKeeper服务器(“bin / ...
- og4j日志文件乱码问题的解决方法
现象:在默认语言非中文(或者说默认语言不支持中文的)的Windows.Linux.Unix上,用log4j打印日志,出现乱码,常见的就是一堆问号. 解决方法: 如果是log4j.properties为 ...
- HTML 5 断点续上传
断点上传,java里面比较靠谱一点的,一般都会选用Flex.我承认,Flex只是摸了一下,不精通.HTML 5 有个Blob对象(File对象继承它),这个对象有个方法slice方法,可以对一个文件进 ...
- 使用OClint进行iOS项目的静态代码扫描
使用OClint进行iOS项目的静态代码扫描 原文链接:http://blog.yourtion.com/static-code-analysis-ios-using-oclint.html 最近需要 ...
- [Asp.net core]bootstrap分页
摘要 一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类. 类 /// <summary> /// 分页viewmodel /// </summary> /// ...
- 控制台获取AngularJS某个元素的Scope
如何在控制台获取到某个元素的Scope呢? 假设,页面元素为: <label>Name:</label><input type="text" ng-m ...