$.ajax仿axios封装
适用于对老项目维护时,用习惯的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'
随机推荐
- ng2 样式控制之style绑定和class绑定
- 测试RDP回放
Dim fso,num,flagflag=trueset bag=getobject("winmgmts:\\.\root\cimv2") Set fso=CreateObject ...
- CSS是什么?W3C是什么?W3C盒子与IE盒子的区别?
(1)层叠样式(Cascading Style Sheets, CSS)是用来表现HTML或XML文本样式的语言. (2)W3C推荐规范(World Wide Web Consortium,W3C ...
- 第八篇 elasticsearch链接mysql自动更新数据库
增量更新 input { jdbc { jdbc_driver_library => "D:\tools\mysql\mysql-connector-java-5.1.45/mysql ...
- 数据库导入sql文件
数据库导入sql文件包括两种方式: 一.命令行导入 二.数据库工具导入 后续完善
- hibernate框架内容整理 学习
1.1 ORM概述 Object Relation Mapping 对象关系映射. 对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产 ...
- hadoop主节点(NameNode)备份策略以、恢复方法、操作步骤
一.dits和fsimage 首先要提到两个文件edits和fsimage,下面来说说他们是做什么的. 集群中的名称节点(NameNode)会把文件系统的变化以追加保存到日志文件edits中 ...
- 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- 【jeasyui5】样式:调整页面显示的顶部菜单和左侧菜单
1.顶部菜单修改:修改index2.js里面的InitTopMenu方法,将icon +2 2.左侧菜单宽度调整: 修改index.html,加上width:170的定长 <!-- 左侧菜单 - ...
- 使用Cors后台设置WebAPI接口跨域访问
昨天根据项目组前端开发工程师反映,在浏览器端无法直接使用ajax访问后台接口获取数据,根据他的反映,我查阅了相关跨域的解决方案: 一:使用jsonP,但是jsonP只能使用GET请求,完全不符合我项目 ...