【问题标题】:Anti Forgery Token Axios Asp .Net Core防伪令牌 Axios Asp .Net Core
【发布时间】:2019-07-16 19:26:51
【问题描述】:

您好,我可以像这样使用 vue js axios 将帖子发送到 Asp .NET Core 2.2 中的控制器

                axios({
                    url: '/Parametros/Create',
                    method: 'post',                    
                    ContentType: 'application/json',
                    data: formData                        
                })

但是,要使其正常工作,我必须从控制器中的操作中删除

[ValidateAntiForgeryToken]

在剃须刀页面中生成令牌作为输入

<input name="__RequestVerificationToken" type="hidden" value="CfDJ8GwWLSmGzLVOqfs-yISjocyQshOjT98BeCqxo14sO91JGUZPe_IstyK9DWZyu0rCr0bxdx3lBlwminvxm7q0zXVWcUkAZIH8NwKDYGdNCiY-Z_BgMzLt_1PyNEHxfpmTouJgMu3il8N4fMjbI0ohwElXGK-eVLXGuzj_J5N_uQ3A4f-9ijmTKGk8p3BC7hrB1A">

我试过了

axios({
    url: '/Parametros/Create',
    method: 'post',
    headers: { 
        "__RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val();
    }                    
    ContentType: 'application/json',
    data: formData                        
})

axios({
    url: '/Parametros/Create',
    method: 'post',                  
    ContentType: 'application/json',
    data: {
        "__RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val(),
        formData                        
    }
})

没有用,我不断收到错误的请求...使用 ajax 第二种方法可以正常工作,但 axios 不行。我该如何处理?

【问题讨论】:

  • 包括 __RequestVerificationToken 和它在你的 formData 中的值
  • 你的意思是作为对象的属性?
  • 是的,就像您发送到控制器的任何其他输入数据一样
  • formData.__RequestVerificationToken = $('input[name="__RequestVerificationToken"]').val(), ........我这样做了,但在这两种方法中仍然给了我不好的要求

标签: javascript vuejs2 axios asp.net-core-2.2


【解决方案1】:

将标头中的 __RequestVerificationToken 更改为 RequestVerificationToken 使发布请求对我有用。

最终代码:

         axios({
            method: 'post',
            headers: {  "RequestVerificationToken":   $('input[name="__RequestVerificationToken"]').val()},
            url:  'home/axiostest',
          })
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-22
    • 2020-06-22
    • 2018-07-09
    • 2022-08-16
    • 2011-11-07
    • 1970-01-01
    • 2018-01-02
    • 2015-01-11
    相关资源
    最近更新 更多