Tôi đang thực hiện các yêu cầu miền chéo thông qua jQuery $.ajax
để truy cập RESTful PHP API.
Để làm được vì vậy tôi đã thiết lập các tiêu đề sau trong 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');
Sử dụng các loại GET
và POST
công trình không có vấn đề. Tuy nhiên, khi tôi thực hiện cuộc gọi a2ax PUT
ajax, Firefox hoàn toàn không hiển thị và hiển thị OPTIONS api.php
trong tab mạng của Firebug.
Trong Chrome, điều tương tự xảy ra trước tiên (OPTION
yêu cầu không thành công với thông báo Method PUT is not allowed by Access-Control-Allow-Methods.
) nhưng Chrome theo dõi yêu cầu PUT
thực tế thực sự hoạt động sau đó.
Lý do cho hành vi này là gì?