适用于对老项目维护时,用习惯的axios不能使用的情况

基础封装: 保留 then 的回调、baseHref、method 传 post || get || etc,

function ajax(obj) {
var callback = $.ajax({
url: window.baseHref + obj.url,
type: obj.method || "post",
data: obj.data,
dataType: 'json',
beforeSend: function(request) {
request.setRequestHeader("X-CSRF-TOKEN", window.csrf);
},
});
callback.then = function(res, rej) {
res && callback.done(res);
rej && callback.fail(rej);
return callback;
}
return callback;
}

  

例子,请求成功:

ajax({
url: '/webbanner',
method: 'post',
}).then(function(res) {
console.log(res)
}, function(rej) {
console.log('rej1')
}).then(function(res) {
console.log('res2')
}) // output
// 请求结果
// 'res2'

  

例子,请求失败:

ajax({
url: '/11111111',
method: 'post',
}).then(function(res) {
console.log(res)
}, function(rej) {
console.log('rej1')
}).then('', function(rej) {
console.log('rej2')
}) // output
// 'rej1'
// 'rej2'

  

随机推荐

  1. TS学习之基础类型

    1.布尔值 let isDone:boolean = false 2.数字(支持二,八,十,十六进制) let width:number = 20 3.字符串 let name:string = &q ...

  2. ng2 样式控制之style绑定和class绑定

  3. Freemarker01

    1 如何使用freemarker 1.1 导包 freemarker-2.3.19.jar 1.2 创建一个ftl文件作为模板 1.3 创建一个方法来将ftl模板和数据组合起来 2 利用maven实现 ...

  4. 14、SRA数据上传

    1.ncbi登陆,进入SRA,进入new submission 2. 1)SUBMITTER 2)PROJECT TYPE Raw sequence reads 和 ranscriptome or G ...

  5. 使用python ftplib包递归下载文件夹及文件

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-06-11 09:35:49 # @Author : Yaheng Wang ...

  6. ibatis分页的两种方式

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  7. System.Threading.Thread的使用及传递参数等总结

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  8. 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) ...

  9. [Xcode 实际操作]三、视图控制器-(11)在Storyboard中使用表格控件

    目录:[Swift]Xcode实际操作 本文将演示表格控件在故事板中的使用. 点击[显示或隐藏检查器按钮],再界面右侧打开检查器面板. 在控制器根视图上点击鼠标,以选择该根视图. 现在往根视图中添加一 ...

  10. print和sys.stdout

    print print语句执行的操作是一个写操作,把我们从外设输入的数据写到了stdout流,并进行了一些特定的格式化.和文件方法不同,在执行打印操作是,不需要将对象转换为字符串(print已经帮我们 ...