我的 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 请求标头应该是相关部分?