Ответ 1
В API-интерфейсе Fetch встроены методы для разных типов данных.
Для обычного текста /html вы должны использовать метод text()
, который также возвращает обещание, а затем его цепочку с другим вызовом.
fetch('www.testSite').then( x => {
return x.text();
}).then( y => {
console.log(y);
});
Встроенные элементы для возвращаемого содержимого выглядят следующим образом
- clone() - Создает клон объекта Response.
- error() - возвращает новый объект Response, связанный с сетевой ошибкой.
- redirect() - Создает новый ответ с другим URL-адресом.
- arrayBuffer() - возвращает обещание, которое разрешается с помощью ArrayBuffer.
- blob() - возвращает обещание, которое разрешается с помощью Blob.
- formData() - возвращает обещание, которое разрешается с помощью объекта FormData.
- json() - возвращает обещание, которое разрешается с помощью объекта JSON.
- text() - возвращает обещание, которое разрешается с помощью USVString (текст).
Он также позволяет отправлять вещи на сервер или добавлять собственные заголовки и т.д.
fetch('www.testSite', {
method : 'post',
headers : new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
}),
body : new FormData(document.getElementById('myform'))
}).then( response => {
return response.json(); // server returned valid JSON
}).then( parsed_result => {
console.log(parsed_result);
});