После успешного запроса API входа в систему Angular запускает дополнительный запрос OPTION для каждого вызова API.

Я использую codeigniter в качестве бэкэнда и ANGULAR 4 в качестве клиентского интерфейса на основе REST. Проблема в том, что каждый запрос отправляется дважды: ONE использует OPTION, а другой использует GET или POST.

Скриншот вкладки Console Network.

https://imgur.com/a/xpNAU

Я получил это в консоли для каждого другого запроса API, как только у меня будет первый успешный вход в систему API. Как остановить дополнительный запрос OPTION, потому что мой сервер не закодирован для обработки этого запроса. Я знаю, что он должен что-то делать с опцией предварительного запроса, и я не уверен, как это решить.

Обновить

из-за установки приведенного ниже пользовательского заголовка я получаю дополнительный запрос OPTIONS.

         this.headers.append('sessionname','7datfaaj6slo7p7htubtutn970l20lfd'); 

Теперь я включил CORS на стороне сервера и поставил это условие, чтобы дать правильный вывод для запроса OPTIONS.

       $method = $_SERVER['REQUEST_METHOD']; if($method == "OPTIONS") { die(); }

Итак, он работает нормально, но теперь мой вопрос: это идеальный способ справиться с этим надоедливым запросом OPTIONS?


person Talk is Cheap Show me Code    schedule 30.01.2018    source источник
comment
включите cors на стороне вашего сервера .com/блог/   -  person Maninderpreet Singh    schedule 30.01.2018
comment
Вам необходимо предоставить stackoverflow.com/help/mcve.   -  person JS dev    schedule 30.01.2018
comment
Это связано с общим доступом к ресурсам между источниками (CORS). Прочтите это developer.mozilla.org/en-US/docs/Web/HTTP/CORS   -  person Ayman El Temsahi    schedule 30.01.2018
comment
Я думаю, что моя ситуация похожа на stackoverflow.com/questions/30920422/ Теперь, используя приведенную ниже проверку перед каждым конструктором, я могу получить правильный код ответа для каждого запроса параметров. Этот тег OPTION был активирован дополнительным пользовательским заголовком.   -  person Talk is Cheap Show me Code    schedule 30.01.2018


Ответы (2)


Как указано в приведенном ниже ответе, это не клиент REST, который отправляет OPTIONS, а браузер, поэтому вам лучше обновить код на стороне сервера в соответствии с потребностями браузера.

ОПЦИИ Объяснение

person Boanta Ionut    schedule 30.01.2018