2016-03-15 2 views
13

Я использую ионную фреймворк и angularjs. Я использую хром для просмотра моих журналов, но здесь я делаю страницу входа. Я пытаюсь опубликовать введенные пользователем данные для обслуживания, но Я получаю эту ошибку.XMLHttpRequest не может загрузить, и ответ на предполетный период имеет недопустимый код состояния HTTP 405

OPTIONS http://aflaree.com/qrcodeservice/Service1.svc/login 

и это один находится рядом ошибка XMLHttpRequest cannot load http://aflaree.com/qrcodeservice/Service1.svc/login Response for preflight has invalid HTTP status code 405 после прочтения какой-то блог я сообразить есть CORS продление от из которого позволяет запроса AJAX я пробовал также, но я не могу найти, почему это две ошибки появляется. Вот мой код

https://plnkr.co/edit/Dz0aFsLqoQcnCxht00z3?p=preview

мой код отлично работает в устройстве, но я получаю сообщение об ошибке в хроме, если кто знает, почему, пожалуйста, помогите мне

+0

Вы смогли решить эту проблему? Я сталкиваюсь с тем же. – TechTurtle

+0

да было решено –

+1

Не могли бы вы поделится исправлением, пожалуйста? – TechTurtle

ответ

15

CORS фактически определяет, что два запрос должен быть сделан к серверу на вызов AJAX (если применяются определенные условия, такие как отправка пользовательских заголовков).

Первый запрос (один с методом OPTIONS) называется предполетным и используется для проверки того, можно ли отправить полный запрос на сервер. Ответ с сервера должен содержать допустимый заголовок Access-Control-Allow-Origin, содержащий URL-адрес клиента или *.

Ваш сервер (а не клиент) - это тот, который должен поддерживать CORS. Кажется, вы используете .Net для этого, так что вы можете посмотреть here о том, как настроить IIS.

Вы можете узнать больше о CORS here.

+2

спасибо за ваш ответ yorch У меня есть данные в файле web.config, но все же я сталкиваюсь с теми же проблемами –

+0

Я добавил часть конфигурации в Интернет .config, но все же можно исправить ошибку –

+0

Что делать, если кто-то должен ударить по стороннему API? – kushalvm

13

Если вы используете хром, подключите плагин «Разрешить управление-Разрешить-Происхождение». Это позволит вам игнорировать все ошибки CORS.

Он работает на мобильных устройствах, поскольку ионный имеет плагин cordova «cordova-plugin-whitelist». В вашем «config.xml» вы увидите строку по умолчанию, это означает, что ваше приложение может получить доступ к любому URL-адресу.

К сожалению, при тестировании через браузер плагин cordova не активен.

0

Для устройств iOS также проверьте используемый протокол. Использование HTTPS вместо HTTP решило проблему для меня.

Смежные вопросы

 Смежные вопросы