jQuery / zepto ajax 全局默认设置
jQuery / zepto 的 $.ajax 方法需要配置很多选项, 有些是很常用的每个 ajax 请求都要用到的, 可以全局设置, 避免每次都写.
注意: 此处用的 jQuery 版本是 1.8.3, zepto 版本是 1.1.6 和 1.2.0. 使用别的版本的要自己测试下.
jQuery 的方法是 jQuery.ajaxSetup()
$.ajaxSetup({url: "/xmlhttp/",global: false,type: "POST" });
如果想设置 complete error 等回调, 可以用 .ajaxComplete() .ajaxError() 等.
$.ajaxError(function( event, request, settings ) {// ...console.log('global error handler'); });// jquery 1.9 以后, 全局 ajax 事件必须加在 document 上面 $(document).ajaxError(function( event, jqxhr, setting, thrownError ) {// ...console.log('global error handler'); });
如果业务逻辑处写了 error 的回调, 则 jQuery 会先调用业务逻辑处的 error 回调, 再调用全局设置的 error 回调.
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {console.log('local error handler');} });// 最终的结果, 先打印 local error handler, 再打印 global error handler // 这一点与 zepto 不同, 见下文
zepto 的设置方法是修改属性 $.ajaxSettings = {...}
由于 ajaxSettings 是一个属性, 值为一个对象, 直接写 $.ajaxSettings = {...} 会覆盖掉所有默认的选项, 所以可以这么写, 只修改需要的部分
$.ajaxSettings = $.extend($.ajaxSettings, {error: ajaxFail });
有一点要注意的是, ajax 的回调函数只能有一个, 如果你在业务逻辑里 $.ajax({}) 里面写了 error 的回调函数, 则会 覆盖掉 全局设置的 error 回调函数
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {// 这里的 error 回调会覆盖掉全局设置的 error 回调// 也就是全局的 'global error handler' 是不会打印的console.log('local error handler');} });
如果想要在业务逻辑的 error 回调后面再调用全局的 error 回调的话, 需要手动调用全局的回调:
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {// 这里的 error 回调会覆盖掉全局设置的 error 回调// 也就是全局的 'global error handler' 是不会打印的console.log('local error handler');// 想要再调用全局的 error 回调, 需要手动调用 $.ajaxSettings.error(msg);} });
转载于:https://www.cnblogs.com/muge10/p/6383545.html
jQuery / zepto ajax 全局默认设置相关推荐
- JavaScript 学习-48.$.ajaxSetup方法设置AJAX的全局默认设置
前言 $.ajaxSetup方法用于设置AJAX的全局默认设置.之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置. 这方便我们设置error 统一返回样式. 示例 设置全 ...
- jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)
jQuery中使用ajax: 在jQuery中使用ajax首先需要引入jQuery包,其引入方式可以采用网络资源,也可以下载包到项目文件中,这里推荐下载包到文件中:市面上有多个版本的jQuery库,这 ...
- jquery的ajax全局事件和AJAX 请求正在进行时显示“正在加载”
实例 当 AJAX 请求正在进行时显示"正在加载"的指示: $("#txt").ajaxStart(function(){$("#wait" ...
- jQuery的ajax全局钩子函数
jQuery的 ajax 全局钩子函数 所谓的钩子函数 , 是和 某个程序绑定的函数 当这个程序执行到不同阶段,不同步骤时,执行不同的函数程序 当前的 ajax 钩子函数,就是和 ajax程序绑定的函 ...
- jquery之ajax——全局事件引用方式以及各个事件(全局/局部)执行顺序
jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend(局部事件) 3.ajaxSend(全局事件) 4.success(局部事件) 5.ajaxSucce ...
- jQuery和vue 设置ajax全局请求
一个很常见的问题,如果用户登录网站session过期,需要用户返回登录页面重新登录. 如果是http请求可以在后台设置拦截器,统一拦截并跳转.但是ajax方法并不能通过后台直接跳转. 所以我们可以写一 ...
- jQuery系列 第八章 jQuery框架Ajax模块
第八章 jQuery框架Ajax模块 8.1 jQuery框架中的Ajax简介 Ajax技术的核心是XMLHTTPRequest对象,该对象是Ajax实现的关键,发送异步请求.接收服务器端的响应以及执 ...
- $.ajax的async参数,jquery的$.ajax async使用详解
async在jquery ajax中是一个同步参数了,我们下面来给大家介绍在jquery ajax中使用async时碰到的一些问题与方法介绍,希望例子能给各位同学带来一些帮助哦. async默认是tr ...
- IDEA快速导入包、默认设置以及自定义配置maven
目录 1.快速导入包 2.设置自定义meven 3.全局默认设置 1.快速导入包 导入包可以是通过快捷键alt+enter一个一个导入. 也可以通过设置idea来进行自动导入,勾选完成后,点击Appl ...
最新文章
- 大话设计模式笔记(七)の原型模式
- asp导出word中文乱码_解决文档打开乱码问题丨小工具系列
- 4.5万字手把手教你实现MySQL TB级数据存储!!
- Anchor-free目标检测 | 工业应用更友好的新网络(附大量相关论文下载)
- [20171124]手工使用Seed_Database.dfb和Seed_Database.ctl建库.txt
- 漫画:什么是HashMap?
- Spring--总体架构
- mysql使用常量列_MySQL 执行计划
- java 通过手机 实时定位_恒高借助uwb定位技术,让机房复杂问题化繁为简
- 四、Dynamic-programming algorithm Dynamic--LCS
- 【LeetCode】剑指 Offer 27. 二叉树的镜像
- 软件测试转行月薪过万,那些转行软件测试的新手小白,是如何从月薪5000到月薪2万的?...
- tensorflow保存模型参数文件pb查看
- Javascript特效:距离某个时间倒计时
- Matlab DIP(瓦)ch5图像复原练习
- 收藏了8年的PHP优秀资源,都给你整理好了
- cisco(思科)交换机操作(基本查询命令)【一】
- Node.js Cannot find module 'xxx' 问题解决
- PS 反选 剪切
- 班旗怎么用软件设计,(最新整理)班旗设计大赛主持词
热门文章
- Thinkphp 关联模型和试图模型区别
- 转载Linq中GroupBy方法的使用总结
- magento cms page、登錄頁面修改(增加)breadcrumbs
- 谈谈C#中的三个关键词new , virtual , override(装载 Winner.Net)
- 关于反射的我的一些看法
- 从零开始学习PYTHON3讲义(二)把Python当做计算器
- Java基础-Java中的内存分配与回收机制
- 百度与华为全面战略合作 人工智能手机真的要来了
- Iptalbes自动封杀暴力破解(Qmail邮件系统)者的IP地址
- VMware Horizon虚拟桌面工具箱2.0-审计,远程协助,控制台,电源