Как я могу установить пользовательское сообщение для параметра errorThrown в обратном вызове ошибки ajax? - PullRequest
0 голосов
/ 11 июня 2019

У меня есть actionfilter в моем основном приложении dotnet, и я хочу сгенерировать правильное сообщение для пользователя, когда ajax call return error error.

На клиентской стороне параметр errorThrown отображается для пользователя, и я не хочу изменять скрипты на стороне клиента.

Когда ajax вызывает исключение (код состояния 500), пользователь получает только сообщение «Внутренняя ошибка сервера», я собираюсь отобразить более подробную информацию.

Я пытался использовать return StatusCode(500, Json("Custom error")), return StatusCode(500, "Custom error"), но не получал никакого почтения в результате, показываемом пользователю.

error: function (jqXHR, textStatus, errorThrown) {
    $('#failed-info').text(errorThrown);
}

Лучшим решением для меня является то, что я могу предоставить пользовательский результат statusCode и statusText, например, statusCode = 700, StatusText = "Это не разрешено по соображениям безопасности."

1 Ответ

0 голосов
/ 11 июня 2019

WEB API Пример пользовательского сообщения на стороне сервера

    public class MyAPIController : ApiController
    {
        [HttpPost]
        [Route("~/api/mypath/")]
        public IHttpActionResult returnError([FromBody]StringModel value)
        {

           return Content(HttpStatusCode.Forbidden,"bla bla bla");

        }
    }

В этом примере возвращается статус Forbidden (403), но вы можете изменить его на то, что вам нужно.

Но браузер в зависимости от статуса может переопределить ошибку.

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