我正在使用以下客户端代码在Register
页面中调用Ajax函数:
$.ajax({
type: "GET",
url: "/Register?handler=GeneratePassword",
contentType: "application/json",
dataType: "json",
success: function (response) {
$("#genPwd").val(response.Password);
},
failure: function (response) {
alert(response);
}
});
页面模型中的操作如下:
public JsonResult OnGetGeneratePassword()
{
var pwd = _passwordService.GeneratePassword(_passwordOptions);
return new JsonResult(new { Ok = true, Password = pwd });
}
根据我所读到的有关Razor Page Ajax调用的信息,这应该可以工作,那么为什么要使用404?
答案 0 :(得分:0)
您是否尝试过使用IActionResult而不是JsonResult
public IActionResult OnGetGeneratePassword()
{
var pwd = _passwordService.GeneratePassword(_passwordOptions);
return new JsonResult(new { Ok = true, Password = pwd });
}
您还可以尝试的另一种方法是删除ajax网址开头的/,如下所示:
$.ajax({
type: "GET",
url: "Register?handler=GeneratePassword",