Я выполняю междоменные запросы через $.ajax
jQuery для доступа к RESTful PHP API.
Для этого я установил в PHP следующие заголовки:
header("HTTP/1.1 $code $status");
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT');
Использование типов GET
и POST
работает без проблем. Однако, когда я делаю PUT
ajax-вызов, Firefox полностью терпит неудачу и показывает OPTIONS api.php
на вкладке сети Firebug.
В Chrome сначала происходит то же самое (OPTION
запрос завершается с ошибкой с сообщением Method PUT is not allowed by Access-Control-Allow-Methods.
), но Chrome следует за фактическим PUT
запросом, который на самом деле тогда работает.
В чем причина такого поведения?