小编Þor*_*ður的帖子

使用 Fetch API 发送 __RequestVerificationToken 并使用 [ValidateAntiForgeryToken] 操作接收

我想通过fetch提交表单。控制器操作如下所示:

\n\n
[HttpPost("new")]\n[ValidateAntiForgeryToken]\npublic JsonResult NewUser(NewUserViewModel user)\n{\n    // code...\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如您所见,我正在使用 ValidateAntiForgeryToken。\n在客户端,我发现此 jQuery 代码有效:

\n\n
$.ajax({\n    url: window.location.pathname,\n    type: \'POST\',\n    data: {\n        Id: "1",\n        UserName: "ajax",\n        Password: "ajax",\n        ConfirmPassword: "ajax",\n        FullName: "ajax",\n        Email: "ajax@ajax.is",\n        Client: "ajax",\n        Roles: ["ajax"],\n        __RequestVerificationToken: document.querySelector(\'[name=__RequestVerificationToken]\').value\n    },\n    success: function (response) {\n        alert(\'T\xc3\xb3kst\');\n    },\n    error: function () {\n        alert(\'t\xc3\xb3kst ekki\');\n    }\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我想使用 fetch API 所以我做了这个尝试:

\n\n
let response = await fetch(window.location.pathname, {\n    method: \'POST\',\n    body: {\n        Id: "1",\n        UserName: "fetch",\n        Password: "fetch",\n        ConfirmPassword: "fetch",\n        FullName: "fetch",\n        Email: …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc .net-core fetch-api

2
推荐指数
1
解决办法
2817
查看次数

标签 统计

.net-core ×1

asp.net-mvc ×1

fetch-api ×1

javascript ×1