Próbuję utworzyć żądanie GET pochodzenia krzyżowego za pomocą jQuery.ajax(). Mój serwer jest skonfigurowany do akceptowania takich żądań. Chrome nie pozwoli mi wysłać nagłówki:Przeglądarki Webkit nie pozwalają mi ustawić nagłówków preflightów CORS
Access-Control-Request-Method
Access-Control-request-Główki
Odmówił ustawić niebezpieczny nagłówek „Access-Control-request- metoda”< - błąd wiadomość
Oto moja prośba ajax:
$.ajax({
type:"GET",
headers: {
'Access-Control-Request-Method' : 'GET',
'Access-Control-Request-Headers': 'X-Custom'
},
url: "http://localhost:3000",
success: function(msg) {
console.log(msg);
}
});
Oczekiwano, że te nagłówki spowodują, że przeglądarka utworzy żądanie przed lotem (OPCJE) w celu negocjacji z serwerem. Wiem, że już to osiągnąłem. Czy ktoś może mi powiedzieć, o czym zapominam?
Wielkie dzięki!
zestaw 'Access-Control-Expose-Headers' na cokolwiek, np.' X-json' – Ohgodwhy
Co? To nie jest nagłówek, który chcę wysłać. Czy możesz rozwinąć proszę? – Nick
To obejście. Widzisz, żądanie wstępne jest ustalane, gdy chcesz złożyć żądanie między domenami. Inspekcja wstępna sprawdzi serwer pod kątem dostępnych opcji, a następnie zwróci nagłówki jako takie. Do czasu zakończenia inspekcji wstępnej żądanie nie zostanie rozwiązane w przeglądarkach opartych na przeglądarkach internetowych, aby uniknąć fałszowania między witrynami. [Więcej informacji na ten temat można znaleźć tutaj] (https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control) – Ohgodwhy