Получение ошибки было заблокировано политикой CORS при вызове API - PullRequest
0 голосов
/ 10 ноября 2018

Я получаю следующую ошибку, когда пытаюсь сделать вызов API для kickstarter. Персонал, выбирающий конечную точку json

Вот как именно выглядит ошибка

localhost /: 1 Доступ к XMLHttpRequest по адресу 'https://www.kickstarter.com/discover/recommended?format=json' от origin 'http://localhost:3000' заблокирован политикой CORS: Нет Заголовок «Access-Control-Allow-Origin» присутствует в запрошенном ресурс.

Ранее я сталкивался с этой ошибкой, но это было, когда я пытался сделать локальный вызов API.

Я знаю, что в своем браузере я могу включить cors, что может исправить ошибку, но я стараюсь ее избежать.

Есть идеи или исправления?

Я использую axios для совершения звонков через API

axios.get("https://www.kickstarter.com/discover/recommended?format=json").then(response => {

[Обновление:] Может ли кто-нибудь также помочь мне выяснить, как мы можем использовать его с Promise.

 let Base_url = axios.get(base_url)
  let StaffPick = axios.get(staffPick)


   return Promise.all(Base_url, StaffPick).then(response => {

Где Подбор персонала равен https://www.kickstarter.com/discover/recommended?format=json а также base_url : http://coincap.io/map

1 Ответ

0 голосов
/ 10 ноября 2018

Попробуйте, как это, и оно должно работать:

fetch(
  'https://cors-anywhere.herokuapp.com/https://www.kickstarter.com/discover/recommended?format=json')
  .then(response => response.json())
  .then(data => console.log(data));

Или эквивалент с axios ...

Вот живая демонстрация в песочнице кода: https://codesandbox.io/s/ox7wz9ny15

Вместо того, чтобы писать собственный прокси-сервер, мы используем этот: https://github.com/Rob--W/cors-anywhere

Примечание: если вы хотите использовать это в работе, я бы рекомендовал написать собственный прокси-сервер ... Подробнее о CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...