我有这样的要求,当我发送请求时,CSRF-token
应该连同它一起发送。我探索了一些 SO 问题,但找不到解决方案。
我已经编写了如下代码以在发送请求时添加令牌,
var send = XMLHttpRequest.prototype.send,
token = $('meta[name=csrf-token]').attr('content');
XMLHttpRequest.prototype.send = function(data) {
this.setRequestHeader('X-CSRF-Token', "xyz12345");
//this.setRequestHeader('X-CSRF-Token',getCSRFTokenValue());
return send.apply(this, arguments);
}
这工作正常,但现在我需要在函数中添加 CSRF-Token 来代替xyz12345
.
我已经尝试过如下的 ajax 函数。`
$.ajax({
type: "POST",
url: "/test/"
//data: { CSRF: getCSRFTokenValue()}
}).done(function (data) {
var csrfToken = jqXHR.getResponseHeader('X-CSRF-TOKEN');
if (csrfToken) {
var cookie = JSON.parse($.cookie('helloween'));
cookie.csrf = csrfToken;
$.cookie('helloween', JSON.stringify(cookie));
}
$('#helloweenMessage').html(data.message);
});
但它还没有起作用。所以我的问题是: 如何获取 js 端的 CSRF-Token 值?