JavaScript XMLHttpRequest.responseType — тип відповіді
Властивість responseType каже, як розбирати відповідь: 'json', 'blob', 'arraybuffer', 'document' чи 'text'.
Загальний опис
Задавши 'json', ти позбавляєшся ручного JSON.parse() — розібраний об'єкт приїде в response.
'blob' потрібен для файлів: так вантажать зображення чи PDF, щоб потім показати їх або віддати на збереження.
Важливо: задавати треба між open() і send(). І пам'ятай — після цього responseText стає недоступним: читати результат треба з response.
- Нотатка
-
Задав
автор: NagarDresponseType, відмінний від'text'— іresponseTextкине помилку. Результат тепер лише вresponse.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| responseType | 31+ | 6+ | 7+ | 18+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| responseType | 4.4+ | yes | yes | 7+ |
Приклади
+ запропонувати свій приклад у пісочниці
JSON без ручного розбору й завантаження файлу як Blob.
// JSON — без JSON.parse()
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/data');
xhr.responseType = 'json'; // між open() і send()
xhr.onload = () => console.log(xhr.response.title);
xhr.send();
// файл — як Blob
const file = new XMLHttpRequest();
file.open('GET', '/report.pdf');
file.responseType = 'blob';
file.onload = () => {
const url = URL.createObjectURL(file.response);
window.open(url);
};
file.send();
Коментарі
Коментарів ще немає — будьте першим!