我的csrf-token在我的应用程序布局中呈现为元标记
<meta content="authenticity_token" name="csrf-param">
<meta content="28c5136f4ef175c620ead78cc6d9589b98be0b78" name="csrf-token">
我将csrf-token元标记的内容写入配置对象,然后每当我使用jquery发布帖子时,我都会使用ajaxPrefilter来添加它。
$.ajaxPrefilter(function(options, originalOptions, jqXHR){
if (options['type'].toLowerCase() === "post") {
console.log("token got called" + configs.csrf_token);
jqXHR.setRequestHeader('X-CSRFToken', configs.csrf_token);
}
});
但是当我按照以下方式发帖时
$.post( "/images/external/url", { url: url, 'csrf-param': configs.csrf_token})
.done(function( data ) {
console.log( "Data returned: " + data );
});
我收到了403,其中包含错误的真实性令牌错误。
帖子中的csrf-param是我试图弄清楚它是否与它有关,据我所知,X-CSRFToken请求标题应该是相关的部分?
答案 0 :(得分:0)
通过连接中的csrf.js读取我可以看到标题应该是X-CSRF-Token。