Я получаю следующую ошибку, когда пытаюсь сделать вызов 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
Попробуйте, как это, и оно должно работать:
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