2013-04-30 34 views
10

Właśnie się dowiedziałem, że moja przeglądarka wysyłała dodatkowe żądanie "OPCJONOWANIE" podczas próby wykonania wywołania ajaxowego w domenie krzyżowej z niestandardowym nagłówkiem http. Zakładam, że nazywa się to "żądaniem wstępnym".Wyłącz preflight żądanie OPTION podczas wysyłania żądania domeny z niestandardowym nagłówkiem HTTP

Czy można wyłączyć tę funkcję i po prostu wysłać wstępną prośbę?

To jest mój kod JavaScript do testowania:

$(document).ready(function() { 
    $.ajax({ 
     url: "http://google.fr", 
     crossDomain: true, 
     headers: { 
      "X-custom-parameter": true 
     } 
    }); 
}); 

Dzięki za pomoc!

Odpowiedz

10

Nie, zdecydowanie nie można pominąć żądania inspekcji CORS. Żądanie inspekcji wstępnej istnieje w celu umożliwienia żądań między domenami w bezpieczny sposób. W powyższym przykładzie próbujesz uzyskać dostęp do google.fr, ale google.fr nie obsługuje CORS. Nie da się tego obejść dla Google, ponieważ Google nie obsługuje żądań między domenami na swojej stronie internetowej. Ogólnie rzecz biorąc, jeśli masz prawa własności do serwera, masz do wyboru opcje obsługi CORS, obsługi alternatywnych haseł między domenami, takich jak JSON-P lub używania serwera proxy po stronie serwera.