jQuery / zepto ajax 全局默认设置
jQuery / zepto 的 $.ajax 方法需要配置很多選項, 有些是很常用的每個 ajax 請求都要用到的, 可以全局設(shè)置, 避免每次都寫.
注意: 此處用的 jQuery 版本是 1.8.3, zepto 版本是 1.1.6 和 1.2.0. 使用別的版本的要自己測試下.
jQuery 的方法是?jQuery.ajaxSetup()?
$.ajaxSetup({url: "/xmlhttp/",global: false,type: "POST" });如果想設(shè)置 complete error 等回調(diào), 可以用?.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'); });如果業(yè)務(wù)邏輯處寫了 error 的回調(diào), 則 jQuery 會先調(diào)用業(yè)務(wù)邏輯處的 error 回調(diào), 再調(diào)用全局設(shè)置的 error 回調(diào).
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {console.log('local error handler');} });// 最終的結(jié)果, 先打印 local error handler, 再打印 global error handler // 這一點與 zepto 不同, 見下文?
?
zepto 的設(shè)置方法是修改屬性 $.ajaxSettings = {...}
由于 ajaxSettings 是一個屬性, 值為一個對象, 直接寫?$.ajaxSettings = {...} 會覆蓋掉所有默認(rèn)的選項, 所以可以這么寫, 只修改需要的部分
$.ajaxSettings = $.extend($.ajaxSettings, {error: ajaxFail });有一點要注意的是, ajax 的回調(diào)函數(shù)只能有一個, 如果你在業(yè)務(wù)邏輯里 $.ajax({}) 里面寫了 error 的回調(diào)函數(shù), 則會?覆蓋掉?全局設(shè)置的 error 回調(diào)函數(shù)
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {// 這里的 error 回調(diào)會覆蓋掉全局設(shè)置的 error 回調(diào)// 也就是全局的 'global error handler' 是不會打印的console.log('local error handler');} });如果想要在業(yè)務(wù)邏輯的 error 回調(diào)后面再調(diào)用全局的 error 回調(diào)的話, 需要手動調(diào)用全局的回調(diào):
$.ajax({data: {key: value},success: function(data) {// success code },error: function(msg) {// 這里的 error 回調(diào)會覆蓋掉全局設(shè)置的 error 回調(diào)// 也就是全局的 'global error handler' 是不會打印的console.log('local error handler');// 想要再調(diào)用全局的 error 回調(diào), 需要手動調(diào)用 $.ajaxSettings.error(msg);} });?
轉(zhuǎn)載于:https://www.cnblogs.com/muge10/p/6383545.html
總結(jié)
以上是生活随笔為你收集整理的jQuery / zepto ajax 全局默认设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水系图一般在哪里找得到_水系电池再发Na
- 下一篇: c#复习-2