阐述:
- 在开发的时候,我们会频繁调ajax,但是jQuery又不能使用promise,不遵循ES6的标准。所以很烦。
- 只能靠自己封装一下ajax来解决下ajax频繁写的过程。也便于日后维护。
封装ajax为函数代码如下
- 这里主要是做了post的封装,想要用get的自己效仿post即可。
http-request.js
/**
* @author <winner>
* ajax post 提交
* @param url 请求地址
* @param param 添加固定参数额外的参数。对象方式
* @param datat 为html,datat,callback
* @param callback 成功回调函数
* @param errorCallback 失败回调函数
* @rerun
*/
function httpRequestPost(url, param={}, datat, callback, errorCallback) {
var pdata = {}
pdata.AppType = "1";
pdata.LoginKey = "9527";
pdata.SystemID = "2";
// 添加固定参数格外参数,合并为一个对象
Object.assign(pdata,param)
var json = JSON.stringify(pdata);
$.ajax({
type: "post",
contentType: "application/json",
url: url,
data: json,
dataType: datat,
success: callback,
error: errorCallback,
})
}
使用函数
1、引用封装好的js
<script src="./js/http-request.js"></script>
2、使用封装好的函数调用接口
- this.getUrl() 是接口请求地址,改成自己的即可。
var url = this.getUrl() + '/pi.User.getDevelopment.hf'
/*var data1 = {
id: 123,
name: 456
}*/
this.httpRequestPost(url, {}, 'json', function(res) {
console.log("成功回调", res)
}, function(error) {
console.log('错误回调', error)
})
本文介绍了一种针对jQuery AJAX的封装方法,解决了频繁调用及不支持Promise的问题,方便后期维护。

535

被折叠的 条评论
为什么被折叠?



