Почему я получаю 404 за этот вызов Razor Page Ajax? - PullRequest
0 голосов
/ 08 февраля 2019

Я вызываю функцию Ajax на странице Register, используя следующий код клиента:

$.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?

1 Ответ

0 голосов
/ 08 февраля 2019

Вы пытались использовать IActionResult вместо JsonResult

public IActionResult OnGetGeneratePassword()
{
    var pwd = _passwordService.GeneratePassword(_passwordOptions);
    return new JsonResult(new { Ok = true, Password = pwd });
}

Еще одна вещь, которую вы можете попробовать, - это удалить / в начале URL-адреса ajax, например:

$.ajax({
    type: "GET",
    url: "Register?handler=GeneratePassword",
...