Как исправить ошибку 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()