CORSS с прокси-адресом - PullRequest
0 голосов
/ 15 марта 2019

Я делаю приложение реакции, где я использую API. Однако я не смог заставить API работать, и я выбрал CROSS, используя прокси-URL (https://yacdn.org/proxy/).). Теперь я могу получить желаемую информацию из API, но через некоторое время мое приложение вылетает. Я получаю сообщение об ошибке:

Доступ к выборке в 'https://yacdn.org/proxy/https://apps.des.qld.gov.au/species/?op=getspecies&kingdom=animals&family=Macropodidae' из источника' http://localhost:3000' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.

Я пытался использовать режим: 'no-cors'. Мне не разрешено использовать Chrome-extension , и мне было предложено создать внутреннее решение, которое просто перенаправляет (прокси) вызов API и возвращает результат

Как я могу решить это? Любая подсказка будет оценена.

1 Ответ

2 голосов
/ 15 марта 2019

Вы можете использовать fetch для достижения этой цели:

fetch('https://cors.io/?https://apps.des.qld.gov.au/species/?op=getspecies&kingdom=animals&family=Macropodidae',
     {
        method: 'GET'
     })
     .then(res => {
       res.text().then((s) => console.log(JSON.parse(s)))
     })
     .catch(error => {
        // Handle your error
        throw new Error('Failed while checking data from au services:' + error)
     })

Используйте этот прокси-сервер: https://cors.io/?...

А также для ответа важно преобразовать в объект JSON:

res.text().then((s) => console.log(JSON.parse(s)))

Надеюсь, это поможет вам.

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