Проверка успеха по HTTP статусу ответа в AJAX в PHP
Давайте теперь добавим проверку
успешности запроса в зависимости
от HTTP статуса. Очевидно, что
если полученный статус 200,
то запрос был успешен:
try {
let response = await fetch('/ajax.php');
if (response.status === 200) {
console.log('success');
console.log(response.text());
} else {
console.log('server error');
}
} catch {
console.log('network error');
}
Однако, в реальной жизни мы можем отдавать
не только статус 200, но и другие
статусы из этого диапзона. К примеру,
у нас могут отдаваться как 200,
так и 201 статусы:
try {
let response = await fetch('/ajax.php');
if (response.status === 200 || response.status === 201) {
console.log('success');
let text = await response.text();
console.log(text);
} else {
console.log('server error');
}
} catch {
console.log('network error');
}
На самом деле запрос будет успешным,
если статус ответа сервера находится
в диапазоне 200–299.
Для удобства проверки в объекте response
содержится свойство ok, которое показывает,
был ли запрос успешным.
Оно содержит значение true,
если статус ответа попадает в диапазон
200–299, и false,
если в другие диапазоны.
Давайте воспользуемся этим свойством для проверки успешности запроса:
try {
let response = await fetch('/ajax.php');
if (response.ok) {
console.log('success');
let text = await response.text();
console.log(text);
} else {
console.log('server error');
}
} catch {
console.log('network error');
}
Отдайте статус в диапазоне 200–299.
Проверьте успешность запроса.