尝试在.Net Core IDentity Register Page中使用AJAX,但没有成功。 .Net Core 5.0 Razor 页面应用

问题描述 投票:0回答:1

尝试使用 Ajax 调用对 .Net Core 身份注册页面上输入的值进行一些验证。

这是我的代码

注册.cshtml

按钮代码-

<button type="button" class="btn btn-primary" id="Submit" >Create Account</button>

拨打电话代码-

 $("#Submit").on('click', function (event) {

     debugger;
     var urlVal = $(location).attr('href') + "?handler=CheckvcNumber"
     debugger;

     $.ajax({
         Type:"POST",
         url: urlVal,
         beforeSend: function (xhr) {
             xhr.setRequestHeader("RequestVerificationToken",
                 $('input:hidden[name="__RequestVerificationToken"]').val());
         },
         data: {
             "vcNumber": $("#VCNumberInput").val()
         },
         async: false,
         success: function (response) {
             debugger;
             $('#RegisterForm').submit();
         },
         failure: function (response) {
             debugger;
             alert(JSON.stringify(response));
         },
         error: function (response) {
             debugger;
             alert(JSON.stringify(response));
         }
     });
 });

urlVal = 'http://localhost:53196/Identity/Account/Register?handler=CheckvcNumber'

在Register.cshtml.cs中

[Authorize(Roles = "Admin")]
public class RegisterModel : PageModel

。 。 .

public async Task<JsonResult> OnPostCheckvcNumberAsync(string vcNumber)
{
    if (string.IsNullOrEmpty(vcNumber)) throw new ArgumentException(nameof(vcNumber));  
    return new JsonResult(new { message = "Unauthorized" });
}

当我运行代码时,它会直接进入 Ajax 调用中的 success 函数。不转到Register.cshtml.cs中的OnPostCheckvcNumberAsync方法

希望有人能帮忙!

谢谢

c# asp.net-mvc .net-core razor-pages
1个回答
0
投票

不去Register.cshtml.cs中的OnPostCheckvcNumberAsync方法

尝试将

Type
更改为小写:

$.ajax({
         Type:"POST",
           ...

进入:

$.ajax({
         type:"POST",
          ...

结果:

© www.soinside.com 2019 - 2024. All rights reserved.