Как получить ошибку AJAX прямо на странице исключений разработчика в ASP. NET Core MVC? - PullRequest
1 голос
/ 17 июня 2020

Допустим, у меня есть функция ajax, и в действии SomeAction возникает исключение:

function CallAjaxFunction() {
    $.ajax({
        url: '/Home/SomeAction',
        success: function (response) {
            //do something
        },
        error: function (response) {
            //redirect to Developer Exception Page to show detailed error
        }
    });
}

Я знаю, что могу перенаправить на страницу с ошибкой с помощью window.location = "/Home/Error";, но как Могу ли я перенаправить браузер на страницу исключений разработчика, чтобы показать более подробную информацию?

Возможно, я неправильно понимаю здесь что-то фундаментальное (что является большой причиной, по которой я задаю этот вопрос), поэтому я был бы признателен любое разъяснение понятий.

Эта страница обычно выглядит примерно так: enter image description here

1 Ответ

1 голос
/ 18 июня 2020

как мне перенаправить браузер на страницу исключений разработчика, чтобы показать более подробную информацию?

From this do c about «Обработка ошибок в ASP . NET Core ", вы найдете:

Enable the Developer Exception Page only when the app is running in the Development environment. You don't want to share detailed exception information publicly when the app runs in production.

Обычно для удобства пользователей мы не показываем клиенту страницу с ошибкой. пользователь напрямую.

Если вы действительно хотите показать пользователю браузера страницу исключений разработчика, в то время как запрос ajax завершился ошибкой, вы можете обратиться к следующему образцу.

$.ajax({
    url: '/Home/MyTestAction',
    dataType: "html",
    success: function (response) {
        //do something
    },
    error: function (response) {
        //console.log(response);
        document.write(response.responseText);
    }
});

Код MyTestAction

public IActionResult MyTestAction()
{
    Convert.ToDateTime("hello");
    return Ok("success");
}

Результат теста

Если выполняется вышеуказанная функция обратного вызова ошибки, содержимое с подробным сообщением об ошибке, как показано ниже, будет отображаться на странице

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...