Http Option Method с запросом Javascript - PullRequest
7 голосов
/ 01 декабря 2011

Я использую модель backbone.js.Когда я сохраняю модель, он отправляет метод HTTP OPTIONS на серверную сторону на firefox, но отправляет метод HTTP POST с safari.

Я знаю, что это не проблема для backbone.js, это касается CORS.Я просто проверю, есть ли метод, GET, POST, PUT и DELETE на стороне сервера, я не буду выполнять работу с методом HTTP OPTIONS.

мой запрошенный URL-адрес - это мои api: api.foo.com и apiзапрос от: bar.com

Итак, как я могу контролировать во всех браузерах запрашивать мой api.foo.com с HTTP POST, а не ОПЦИИ?и как я могу поделиться контентом api.foo.com со всеми запросами из любых других доменов?

Примечание: я уже изменил заголовки ответа со стороны сервера на: Access-Control-Allow-Origin: *

1 Ответ

7 голосов
/ 01 декабря 2011

Запрос OPTIONS на самом деле является так называемым предварительным запросом спецификации CORS .Этот предварительный запрос используется веб-браузерами для проверки того, при каких условиях сервер будет принимать запрос от соответствующего источника.Если ответ на предварительный запрос был удовлетворительным, браузер отправит фактический запрос.

Таким образом, чтобы соответствовать этой спецификации, вам необходимо, чтобы ваш сервер воспроизвел этапов обработки предварительного запроса .

...