Razor Page如何处理Ajax Post 400的问题

Razor Page如何处理Ajax Post 400的问题

这篇文章主要讲解了“Razor Page如何处理Ajax Post 400的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Razor Page如何处理Ajax Post 400的问题”吧!

为了防止CSRF攻击,新版本的框架加强做了相关处理

PageModel上加入[ValidateAntiForgeryToken]

    [ValidateAntiForgeryToken]
    public class LoginModel : PageModel

Html里生成token

        <el-form   method="post">
            @Html.AntiForgeryToken()

全局设置Ajax提交token

    $.ajaxSetup({
        beforeSend: function (xhr) {
             xhr.setRequestHeader("RequestVerificationToken", $('input:hidden[name="__RequestVerificationToken"]').val());
        }
    })

禁用上述设置

(有时候这种安全性是不必须的,比如不是在页面里发起请求,需要采用其它安全机制)

//在     public void ConfigureServices(IServiceCollection services) 方法里:
            services.AddMvc()
                .AddRazorPagesOptions(o => { o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute()); })
                .InitializeTagHelper<FormTagHelper>((helper, context) => helper.Antiforgery = false)
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

参照:https://www.cnblogs.com/tdfblog/p/disable-antiforgery-token-validation-in-asp-net-core-razor-page.html

感谢各位的阅读,以上就是“Razor Page如何处理Ajax Post 400的问题”的内容了,经过本文的学习后,相信大家对Razor Page如何处理Ajax Post 400的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!