Пытаюсь с помощью js забрать ленту RSS следующим способом:
'use strict';
var rss = 'https://habrahabr.ru/rss/feed/posts/eeb96d62f10f118dbc9ac3747022f16b/';
var result = document.querySelector('#result');
var myHeaders = new Headers();
myHeaders.append("Content-Type", "text/plain");
myHeaders.set('Access-Control-Allow-Origin', '*');
fetch(rss, {
method: 'GET',
mode: 'cors',
headers: myHeaders,
body: null,
cache: 'default'
}).then(function(response) {
return response.text();
}).then(function(res) {
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(res, "text/xml");
result.innerHTML = xmlDoc;
console.log(xmlDoc);
}).catch((error) => {
result.innerHTML += error;
console.log
});
<div id="result"></div>
Получаю ошибку:
Failed to load https://habrahabr.ru/rss/feed/posts/eeb96d62f10f118dbc9ac3747022f16b/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://localhost.local' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Если воспользоваться расширением для хрома, то данные приходят без ошибок. Пробовал добавить те же значения в запрос что и добавляет расширение, но это не прокатило. Почему расширение может обойти CORS? Что необходимо добавить в заголовок, что бы можно было получить данные?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Друзья, создаю возможность для пользователя установить фон с сохранением для следующих сессийПочему-то url не сохраняется (Опция "Морская...
Есть функция, которая выводит id видео youtubeФункция работает корректно, но не в Wordpress админке, при запуске сайта пишет ошибку в консоле: