JavaScript XMLHttpRequest.responseText — відповідь сервера текстом
Властивість responseText повертає відповідь сервера рядком.
Загальний опис
Навіть якщо сервер віддав JSON, тут буде рядок — розбирати його доводиться самому через JSON.parse().
І загортати цей розбір у try...catch треба обов'язково: коли сервер падає, він часто віддає HTML сторінки помилки замість JSON — і JSON.parse() кине виняток посеред обробника.
Щоб браузер розібрав JSON сам, є responseType = 'json' і властивість response.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| responseText | 1+ | 1+ | 1.2+ | 8+ | 12+ | 7+ |
| Переглядач | ||||
|---|---|---|---|---|
| responseText | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Розбір JSON із захистом від HTML-сторінки помилки.
const xhr = {
onload: 'значення',
response: 'значення',
responseText: 'значення',
responseType: 'значення'
};
xhr.onload = () => {
try {
const data = JSON.parse(xhr.responseText);
console.log(data.title);
} catch {
// сервер упав і віддав HTML замість JSON
console.error('Некоректна відповідь:', xhr.responseText.slice(0, 100));
}
};
// або хай браузер розбирає сам:
// xhr.responseType = 'json';
// xhr.onload = () => console.log(xhr.response.title);
Коментарі
Коментарів ще немає — будьте першим!