/** * type:请求类型 -- 必传 * ajaxUrl:请求地址 -- 必传 * data:请求参数(格式为object) -- 必传 * callback:回调函数 -- 必传 * otherData:回调函数的二次参数 -- 非必传 * err:请求失败时回调函数 -- 非必传 */ function AJAX(type, ajaxUrl, data, callback, otherData, err) { // 默认为post请求,typeof(data) == 'string'是为get请求 // 处理类型 var ajaxType = 'post'; if(type && typeof type == 'string') { type === 'get' ? (ajaxType = 'get') : (ajaxType = 'post') } // get请求参数处理,post请求即为object,不需要处理 var datas; if(ajaxType === 'get') { if (!data || typeof data !== 'object') { return '' } var arr = []; for (var k in data) { var temp = k + '=' + (data[k] || data[k] == 0 ? data[k] : ''); arr.push(temp); } datas = arr.join('&'); } else { datas = data; } // 如果需要传入请求头 var headers = {} var User_token = sessionStorage.getItem('Token'); //登录时获取的token,存到sessionStorage,然后获取放到这 if (User_token) { headers = { "Authorization-Token": User_token || '' } } $.ajax({ headers: headers, type: ajaxType, url: ajaxUrl, dataType: 'json', data: datas, // async:false, contentType: 'application/x-www-form-urlencoded; charset=utf-8', success: function (res) { if (callback) { callback(res, otherData); } }, error: function (res, textStatus, errorThrown) { if (err && typeof err == 'function') { err(); } else { console.error('请求异常,请重新请求', { time: 1500 }); } } }) }