Я пытаюсь получить из внешнего API в ReactJS.
Это функция, которую я использую для получения:
fetch(
`https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`
)
.then(data => setIbanResponse(data))
.catch(error => setIbanResponse(error));
}
Когда я console.log(ibanResponse)
(я использую Hooks
), я получаю
Доступ к выборке в 'https://www.iban -test.de / api / check / XXXX? Authcode = XXXX ' from origin 'http://localhost:3000' заблокирован политикой CORS: Ответ на предпечатную проверкузапрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса 'no-cors', чтобы получить ресурс с отключенным CORS.
TypeError: Не удалось получить
index.js: 30 Cross-Блокировка считывания источника (CORB) заблокировала перекрестный ответ https://www.iban -test.de / api / check / XXXX? Authcode = XXXX с приложением MIME-типа / json.См. https://www.chromestatus.com/feature/5629709824032768 для получения более подробной информации.
В инспекторе сетей я вижу ответ 200
от API, и если я делаю запрос из своего браузера, он работает простохорошо.
Как я могу исправить этот запрос на выборку?
Я уже пробовал это:
fetch(
`https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`,
{
headers: {
"Access-Control-Allow-Origin": "*"
}
}
)
.then(data => setIbanResponse(data))
.catch(error => setIbanResponse(error));
}
И это:
fetch(
`https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`
)
.then(response => response.json())
.then(data => setIbanResponse(data))
.catch(error => setIbanResponse(error));
}
Но он возвращает ту же ошибку.
Редактировать: я редактирую вопрос всем, кто ищет эту же проблему.Я реализовал решение @Matin Sasan и @sideshowbarker сказал, и это сработало как шарм.Мне пришлось использовать прокси, чтобы сделать запрос.