如何使用jquery将csrf-token发布到compoundjs

时间:2014-08-12 10:45:30

标签: jquery express http-post csrf compoundjs

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

1 个答案:

答案 0 :(得分:0)

通过连接中的csrf.js读取我可以看到标题应该是X-CSRF-Token。