|

封装jQuery AJAX请求,轻松添加全局参数
有时候我们需要统一整个项目的ajax请求格式,比如在所有的ajax请求中附加上一些必须的参数,这时就不可能一个一个的去加了,我们可以在jquery的ajax方法的基础上再封装一层做统一处理,具体代码如下,供参考:
-
- /
- * ajax post 提交
- * @param param 参数(json格式)
- * @param successCallback 成功后的回调函数
- * @return
- * @author
- */
- function sendAjax(param, successCallback) {
- if (param) {
- var gid = getCookie('gid'),
- passport = getCookie('passport'),
- auth_code = getCookie('auth_code'),
- access_token = getCookie('access_token'),
- info = {gid: gid, passport: passport, auth_code: auth_code, access_token: access_token, client: 'h5', ver: ''};
- param = Object.assign(info, param);//参数合并
- }
- $.ajax({
- type: 'post',
- url: api_url,
- data: param,
- dataType: 'json',
- timeout: ajax_timeout,
- cache: false,
- async: true,
- success: function (data) {
- if (data.errcode == '2001' && location.href.indexOf('login') == -1) {
- location.href = './login.html';
- return;
- }
- successCallback(data);
- },
- error: function () {
- if (!isDev) {
- alert('请求发生错误');
- }
- }
- });
- }
复制代码
调用如:
-
- sendAjax({action: 'getDayStatistics', tdate: '2020-04-28'}, function (data) {
- var app = new Vue({
- el: '#dayStatisticsContent',
- data: {
- totalShouru: data.total_shouru,
- totalZhichu: data.total_zhichu,
- shouruList: data.shouru_list,
- zhichuList: data.zhichu_list
- }
- });
- });
复制代码
|
|