JavaScript XMLHttpRequest.responseType — тип відповіді
Властивість responseType каже, як розбирати відповідь: 'json', 'blob', 'arraybuffer', 'document' чи 'text'.
Загальний опис
Задавши 'json', ти позбавляєшся ручного JSON.parse() — розібраний об'єкт приїде в response.
'blob' потрібен для файлів: так вантажать зображення чи PDF, щоб потім показати їх або віддати на збереження.
Важливо: задавати треба між open() і send(). І пам'ятай — після цього responseText стає недоступним: читати результат треба з response.
- Нотатка
-
Задав
автор: NagarDresponseType, відмінний від'text'— іresponseTextкине помилку. Результат тепер лише вresponse.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 31 | 6 | 5.1 | 18 | 12 | 10 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4.3 | 31 | 50 | 5 |
Приклади
+ запропонувати свій приклад у пісочниці
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();
Коментарі
Коментарів ще немає — будьте першим!