Top.Mail.Ru
Ответы

Как исправить ошибку CORS при get запросах?

Здравствуйте. Потехоньку изучаю javascript. Сейчас прохожу тему запросов на сервера и сталкнулся с такой проблемой. При get запросе выскакивает такая ошибка:
Access to XMLHttpRequest at ' https://developer.mozilla.org/ru/docs/Web/API/XMLHttpRequest ' from origin ' http://127.0.0.1:55730/ ' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
index.js:10
GET https://developer.mozilla.org/ru/docs/Web/API/XMLHttpRequest net::ERR_FAILED 200

код:

let xhttp=new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if (this.readyState ==4 && this.status == 200){
myFunction(this.responseText)
}
}
http://xhttp.open/ ("GET"," https://developer.mozilla.org/ru/docs/Web/API/XMLHttpRequest ", true);
xhttp.send();

function myFunction(data){
console.log(data)
}


Пожалуйсто помогите разобраться почему CORS ругается и как это исправить?

В Видео уроке этот код работает и выводит в консоль вместо ошибки - HTML разметку страницы.Данная ошибка выскакивает как в Edge так и в Chrom...

По дате
По рейтингу
Аватар пользователя
Новичок

Разрешать или нет запросы со стороннего сайта, решает сайт, к которому ты обращаешься - и никак иначе. Для этого он должен, как минимум, в ответе на твой запрос вернуть HTTP-заголовок:
Access-Control-Allow-Origin: *
НЕ браузерный код, а СТОРОННИЙ сайт, к которому ты обращаешься.

Ты смотришь слишком старые "видеуроки" - тех времён, когда браузеры беспрепятственно разрешали любые кросс-доменные запросы.

Это ограничение только в браузерах. Доступ к сторонним ресурсам проще получать через back-end скрипты, которые не имеют таких ограничений.

Аватар пользователя
Знаток

Попробуйте сделать запрос через метод fetch()