2016-06-07 3 views
2

Я хочу опубликовать входные значения в своем веб-сервисе. У меня было много ошибок, когда я проверил, я обнаружил, что OPTIONS был использован не POSTИмея метод OPTIONS вместо POST

enter image description here

Вот мой код:

var req = { 
 
headers: { 
 
    'Content-Type':'application/json' 
 
} 
 
} 
 
$http.post(url,req) 
 
      .then(
 
      function(response){ 
 
       }, 
 
      function(response){ 
 
       });

Это странно, почему я OPTIONS не POST и как я могу решить такую ​​проблему? (Я использую AngularJS)

ответ

4

Из заголовка access-control-request-method вы смотрите запрос на предпросмотр CORS. Это происходит, когда вы переходите через истоки, до отправки фактического запроса. Сервер может реагировать с заголовками, чтобы указать, является ли фактическое запрос разрешено или нет, на основе источника происхождения, способа и т.д.

the MDN docs От любой запрос POST отправка JSON будет иметь соответствующий предполетный запрос:

В частности, запрашивается запрос, если:

  • Он использует методы, отличные от GET, HEAD или POST. Кроме того, если POST используется для отправки данных запроса с Content-Type, отличным от application/x-www-form-urlencoded, multipart/form-data или text/plain, , например. если POST-запрос отправляет XML-полезную нагрузку на сервер с помощью приложения application/xml или text/xml, тогда запрос предваряется.
Смежные вопросы