反伪造令牌Axios Asp .Net Core

时间:2019-05-06 13:19:32

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

嗨,我能够使用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不能。我该如何处理?

1 个答案:

答案 0 :(得分:0)

在标题中将__RequestVerificationToken更改为RequestVerificationToken使得发帖请求对我有用。

最终代码:

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