尝试使用 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方法
希望有人能帮忙!
谢谢