(function() {
var send = XMLHttpRequest.prototype.send,
token = $('Meta[name=csrf-token]').attr('content');
XMLHttpRequest.prototype.send = function(data) {
this.setRequestHeader('X-CSRF-Token', token);
return send.apply(this, arguments);
};
}());
这不会在实例化时添加标头,而是在发送请求之前添加标头。您 也可以 截取对的调用new XMLHttpRequest()
,但这不会有帮助,因为您需要等待添加标头直到open
被调用。
您可能还需要对请求的目标URL进行测试,以便仅在调用自己的api时添加标头。否则可能会导致令牌泄漏到其他地方,甚至可能中断不允许此标头的跨域CORS调用。