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

Разрешить-Контроль-Разрешить-Происхождение: *