XMLHttpRequest заблокирован политикой CORS
Я добавляю API со следующим скриптом, скажем, http://www.test.com:
<script src="http://apiendpoint.com/api/v1/api.js"></script>
<div id="api" data-apikey="LA59CJI9HZ-KIJK4I5-3CKJC"></div>
api.js
$(function () {
apikey = $('#api').data('apikey');
$("#api").load("http://apiendpoint.com?apikey=" + apikey);
})
Когда я загружаю страницу, я получаю следующую ошибку:
XMLHttpRequest не может загрузить URL точки доступа. Перенаправление с " apiendpoint URL " на " apiendpoint URL " было заблокировано политикой CORS: в запрашиваемом ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Исходный " тестовый URL " поэтому не имеет доступа.
По пути apiendpoint.com я добавил в .htaccess следующий код:
Header set Access-Control-Allow-Origin "*"
Но это не работает.
Ответы
Ответ 1
Я считаю, что ответ sidehowbarker здесь содержит всю необходимую информацию, чтобы исправить это. Если ваша проблема заключается в том, что в ответе, который вы получаете, есть заголовок No 'Access-Control-Allow-Origin', вы можете настроить прокси-сервер CORS, чтобы обойти это. Путь больше информации об этом в связанном ответе
Ответ 2
эти ошибки означают, что вы ничего не можете загрузить через файлы. Есть много решений, но я думаю, что это самое простое решение: создать файл app.js
const express = require("express");
const app = express();
const path = require("path");
app.use(express.static(__dirname));
app.use(express.static(path.join(__dirname, "./index.html")));
app.listen(3000);
console.log("Listening");
Ответ 3
просто используйте расширение для Chrome
Разрешить-Контроль-Разрешить-Происхождение: *