@jekanok

Как парсить rss yahoo в vue.js?

Привет есть проблема с тем что есть ссылка на rss ленту, когда открываем в браузере работает норм, а когда питаешься получить через js
mounted() {
    fetch("https://www.yahoo.com/news/rss")
      .then((response) => response.text())
      .then((data) => {
        const parser = new DOMParser();
        const xml = parser.parseFromString(data, "application/xml");
        console.log(xml);
      })
      .catch(console.error);
}
,
выдает ошибку:
Access to fetch at 'https://www.yahoo.com/news/rss' from origin 'localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
6037b0f61325c204818531.png
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Самым простым решением будет написать простенький backend, который и будет эти данные возвращать вам в приложение.

Минимум: php/nodejs, который просто принимает на вход адрес и возвращает полученный им rss (его можно вполне успешно на json переделать).

Идеально: микросервис, который периодически запрашивает по адресам данные и сохраняет себе в базу (или хотя бы просто как файл), и отдаёт при запросе с вашего vue-приложения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
fetch("https://www.yahoo.com/news/rss", {
    mode: 'no-cors', // no-cors, *cors, same-origin
})

подробнее тут https://developer.mozilla.org/ru/docs/Web/API/Fetc...
и тут https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
Ответ написан
Ваш ответ на вопрос

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

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