Здравствуйте!
Например, я отправляю $.get('/site/text'), но та страница выдает Bad Request (#400) Отсутствуют обязательные параметры: password.
Я отлавливаю ajax ошибки так:
$.get('/site/text').done(..).fail(function(e){
alert("Какая-то ошибка")
});
Вопрос: как получить текст этой ошибки ("Bad Request (#400) Отсутствуют обязательные параметры: password")?
Error.responseText выдает целую html-страницу со стилями и прочими ""<!DOCTYPE html><html lang="ru-RU"><head>... <h1>Bad request...". А я бы хотел выдать текст ошибки alert-om
Вернуть текст ошибки, а не целую страницу
Re: Вернуть текст ошибки, а не целую страницу
Вернуть из контроллера JSON:
Код: Выделить всё
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
Re: Вернуть текст ошибки, а не целую страницу
Я имел виду не ошибку, связанную с валидацией, а исключение.ElisDN писал(а): ↑2021.01.13, 13:57 Вернуть из контроллера JSON:
Код: Выделить всё
if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($model); }
Например, страница, на которую был отправлен ajax, вернула HttpException 503. Как получить информацию об этой ошибке в ответе ajax-запроса? Я бы хотел получить что-то вроде {name: "", message: "", errorCode: 503}, а не целую html-страницу вида (см скриншот)
Re: Вернуть текст ошибки, а не целую страницу
Подключить https://www.yiiframework.com/doc/api/2. ... negotiator и в Ajax-запросах посылать заголовок Accept: application/json
Re: Вернуть текст ошибки, а не целую страницу
Спасибо, все отлично! Заработало прям с первого раза, как в behaviors фильтр ContentNegotiator добавил!