@NooBick

Ошибка после fetch?

fetch("https://vk.com/foaf.php?id=1", {mode: 'no-cors'})
        .then(res => res.text())
        .then(str => new DOMParser().parseFromString(str, "text/xml"))
        .then(data => console.log(data))


В ответе:

<html xmlns="http://www.w3.org/1999/xhtml"><parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"><h3>This page contains the following errors:</h3><div style="font-family:monospace;font-size:12px">error on line 1 at column 1: Extra content at the end of the document
</div><h3>Below is a rendering of the page up to the first error.</h3></parsererror><body></body></html>


Если использовать метод cors, то вообще выдаст ошибку.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae
Тлен
fetch не умеет в кодировку отличную от utf-8, а там windows-1251.
Либо юзай классический xmlhttp, которой заодно и сразу xml тебе разберёт, или добавь в цепочку работу ещё и с ArrayBuffer и TextDecoder.

Ну и само собой у тебя должны быть права такой запрос делать. С рандомного сайта ты не можешь получить данные с vk.com если тебе этого не разрешат. 'no-cors' тут значит только то, что запрос дойдёт туда, ответа же тебе никто не даст.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы