【发布时间】:2020-05-23 15:01:13
【问题描述】:
我需要通过基于 Ajax 的发布请求传递 CSRFToken,但不确定如何以最佳方式完成此操作。
使用在请求中内部检查 CSRFToken 的平台(仅限 POST 请求)
最初我想把它添加到标题中
$(function() {
$.ajaxSetup({
headers : {
'CSRFToken' : getCSRFTokenValue()
}
});
});
这将使它可用于每个 Ajax 请求,但它不适用于我的情况,因为请求中的 CSRFToken 仍然为空。
有什么方法可以为所有处理 POST 类型的 Ajax 调用设置 CSRFToken
编辑 如果我在我的 Ajax 调用中做这样的事情
data: {"newsletter-subscription-email" : "XXX" , 'CSRFToken': getCSRFTokenValue()},
一切正常。
我的问题是,我想将 CSRFToken 值作为请求参数而不是作为请求标头传递
【问题讨论】:
-
所以header传了但是token为null?
getCSRFTokenValue()到底是做什么的? -
@RobinJonsson:这只是获取代币的价值
-
我面临同样的问题(需要在基于 Ajax 的帖子上传递 CSRF 令牌,但仅使用 JS。我不熟悉 JQuery :(
-
你从 getCSRFTokenValue() 返回什么?
标签: javascript jquery ajax