Во время предварительного запроса вы должны увидеть следующие два заголовка: Access-Control-Request-Method и Access-Control-Request-Headers.Эти заголовки запроса запрашивают у сервера разрешения на выполнение фактического запроса.Ваш предполётный ответ должен подтвердить эти заголовки, чтобы действительный запрос работал.
Например, предположим, что браузер отправляет запрос со следующими заголовками:
Origin: http://yourdomain.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: X-Custom-Header
Ваш сервер должен затемответьте следующими заголовками:
Access-Control-Allow-Origin: http://yourdomain.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: X-Custom-Header
Обратите особое внимание на заголовок ответа Access-Control-Allow-Headers.Значение этого заголовка должно быть такими же заголовками в заголовке запроса Access-Control-Request-Headers, и это не может быть '*'.
Как только вы отправите этот ответ на предварительный запрос, браузер выполнит фактический запрос.Вы можете узнать больше о CORS здесь: http://www.html5rocks.com/en/tutorials/cors/