Я не использовал этот API, но проблема довольно распространена. Посмотрите, например, здесь (или любой другой источник о CORS):
Как работает заголовок Access-Control-Allow-Origin?
Если ваше веб-приложение и служба имеют разные домены (происхождения), это не будет работать, пока служба не разрешит вашему приложению запрашивать данные. Когда вы используете Postman, это работает, потому что Postman не отправляет заголовок или использует источник, что разрешено. Я действительно не знаю, как это работает, но это работает, и это нормально.
Если вы используете локально размещенное приложение только для целей тестирования, а служба и приложение будут иметь одно и то же происхождение, у вас есть два простых решения:
- Вы можете запустить веб-браузер (например, Chrome) с отключенной веб-безопасностью: Отключить политику того же источника в Chrome а>. Это отключает CORS и устраняет проблему.
- Вы можете установить расширение Chrome под названием Allow-Control-Allow-Origin: *. Когда он включен, он отправляет источник, который будет разрешен службой.
Однако, если ваша служба будет иметь другое происхождение, вам придется настроить ее, чтобы ваше приложение могло запрашивать ее.
Изменить
Обратите внимание на одну вещь. Если вы отправляете запрос, отличный от GET, или с некоторыми пользовательскими заголовками, браузеры сначала отправят запрос OPTIONS. Это называется предварительным запросом. Ваш сервис должен будет справиться с этим, чтобы работать должным образом.
person
PJDev
schedule
26.05.2016