目前在搞三级等保项目时,发现开发的网站没有做安全机制验证。后来查找资料,发现需要在ajax请求时增加请求头信息。但网站已开发完毕,如果每个ajax请求时都去增加请求头,工作量太大了,不太现实。后来继续查找资料,发现可以使用JS动态去增加请求头。代码如下:
//获取ajax请求,增加请求头
(function ($) {
//1.得到$.ajax的对象
var _ajax = $.ajax;
$.ajax = function (options) {
//2.每次调用发送ajax请求的时候定义默认的error处理方法
var fn = {
error: function (XMLHttpRequest, textStatus, errorThrown) {
showmsg(XMLHttpRequest.responseText,2,1)
},
success: function (data, textStatus) {
},
beforeSend: function (XHR) {
},
complete: function (XHR, TS) {
}
}
//3.扩展原生的$.ajax方法,返回最新的参数
var _options = $.extend({}, {
error: function (XMLHttpRequest, textStatus, errorThrown) {
fn.error(XMLHttpRequest, textStatus, errorThrown);
},
success: function (data, textStatus) {
fn.success(data, textStatus);
},
beforeSend: function (XHR) {
XHR.setRequestHeader('Authorization', sessionStorage.getItem("token"));//设置请求头Token sessionStorage.getItem():说明【js中的session】
fn.beforeSend(XHR);
},
complete: function (XHR, TS) {
fn.complete(XHR, TS);
}
}, options);
//4.将最新的参数传回ajax对象
_ajax(_options);
};
})(jQuery);