Bir RESTful PHP API'sine erişmek için jQuery'nin $.ajax
aracılığıyla çapraz etki alanı istekleri yapıyorum. PHP'de yüzden belirledik aşağıdaki başlıkları yapabilmek için
:
header("HTTP/1.1 $code $status");
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT');
türleri GET
ve sorunsuz POST
eser kullanma. Ancak, bir PUT
ajax çağrısı yaptığımda, Firefox tam olarak başarısız olur ve Firebug ağ sekmesinde OPTIONS api.php
gösterir.
Chrome'da ilk olarak aynı şey olur (OPTION
isteği, Method PUT is not allowed by Access-Control-Allow-Methods.
numaralı iletiyle başarısız olur) ancak Chrome, aslında o anda çalışan gerçek PUT
isteği ile isteğini izler.
Bu davranışın nedeni nedir?