1.新建一个文件:common.js
common.js中放入项目中使用到的全局函数
var Common ={
};
/**
* @author:yueziming
* @version:1.0
* @description 为了方便书写统一写公共方法,用来写活动、静态页面等
*/
window.baseUrl = "";
if (window.location.hostname == 'localhost') {
// baseURL = 'http://172.16.1.1/TbWebApi/api';
window.baseUrl = 'http://testapi.aaaa.com/api';
} else if (window.location.hostname == '172.16.1.1') {
window.baseUrl = 'http://172.16.1.2/api';
} else if (window.location.hostname == 'http://tbabc.aaaa.com') {
window.baseUrl = 'http://testapi.aaaa.com/api';
} else {
window.baseUrl = 'http://api.aaaa.com/api';
}
var Common = {
//公共ajax方法
/**
* @arg url:去除公共地址后后API地址
* @arg type:请求类型,默认为post
* @arg data:用于请求的数据
* @arg callback:回调函数
*/
ajax: function (url, type, data, callback) {
var self = this;
var myUrl = window.baseUrl + url;
Common.ajaxLoading();
$.ajax({
url: myUrl,
data: data,
type: type || "post",
dataType: 'json',
//获取令牌,每次请求带上
beforeSend: function (request) {
var token = self.getSession("token");
if (token) {
request.setRequestHeader("X-CSRF-TOKEN", token);
}
},
success: function (res) {
Common.ajaxLoadingStop();
callback(res);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
Common.validateAjaxStatus(XMLHttpRequest.status);
Common.ajaxLoadingStop();
}
});
},
/**
* @desc 请求状态码字典
*/
ajaxStatusDictionary:{
status:{
//请求成功
"201":"对象创建成功并返回相应资源数据。",
"202":"接受请求,但无法立即完成创建行为,比如其中涉及到一个需要花费若干小时才能完成的任务。返回的实体中应该包含当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便客户端能够获取最新状态。",
"204":"请求执行成功,不返回相应资源数据,如 PATCH , DELETE 成功。",
//重定向
"301":"被请求的资源已永久移动到新位置。",
"302":"请求的资源现在临时从不同的 URI 响应请求。",
"303":"对应当前请求的响应可以在另一个 URI 上被找到,客户端应该使用 GET 方法进行请求。",
"307":"对应当前请求的响应可以在另一个 URI 上被找到,客户端应该保持原有的请求方法进行请求。",
//条件请求
"304":"资源自从上次请求后没有再次发生变化,主要使用场景在于实现数据缓存。",
"409":"请求操作和资源的当前状态存在冲突。主要使用场景在于实现并发控制。",
"412":"服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。主要使用场景在于实现并发控制。",
//客户端错误
"400":"请求体包含语法错误。",
"401":"需要验证用户身份。",
"403":"服务器拒绝执行。",
"404":"找不到目标资源。",
"405":"不允许执行目标方法,响应中应该带有 Allow 头,内容为对该资源有效的 HTTP 方法。",
"406":"服务器不支持客户端请求的内容格式,但响应里会包含服务端能够给出的格式的数据。",
"410":"被请求的资源已被删除。",
"413":"POST 或者 PUT 请求的消息实体过大。",
"415":"服务器不支持请求中提交的数据的格式。",
"422":"请求格式正确,但是由于含有语义错误,无法响应。",
"428":"要求先决条件,如果想要请求能成功必须满足一些预设的条件。",
//服务端错误