Pytam usługę sieci Web REST, która używa niestandardowych nagłówków HTTP do uwierzytelniania.
Jeśli wykonuję POST bez nagłówków, otrzymuję oczekiwany błąd, ale kiedy dodaję nagłówki, otrzymuję błąd 404 zamiast tego, czego potrzebuję.
To jest mój kod
$.ajax({
type: 'POST',
url: 'http://server.com/service',
beforeSend: function (xhr) { xhr.setRequestHeader('CUSTOM-HEADER-KEY', 'CUSTOM-HEADER-VALUE') },
success: function(data) {
alert('success.');
}
});
Oto Firebug nagłówki wyjście:
OPCJE/usługa HTTP/1.1 Host : server.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 8.0.1) Gecko/20100101 Firefox/8.0.1 Zaakceptuj: tekst/html, aplikacja/xhtml + xml, aplikacja/xml; q = 0.9, /; q = 0,8 Zaakceptuj język: en-us, en; q = 0.5 Zaakceptuj kodowanie: gzip, deflate Zaakceptuj kod: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Połączenie: zachowaj -alive Pochodzenie: null Access-Control-Request-Method: PO Access-Control-Request-Główki custom-header-key Pragma: no-cache cache-Control: no-cache
oraz nagłówki smae podczas wykonywania postu z plakatem, który zwraca pożądany wynik.
POST/usługa HTTP/1.1 Host : server.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 8.0.1) Gecko/20100101 Firefox/8.0.1 Zaakceptuj: text/html, application/xhtml + xml, application/xml; q = 0.9, /; q = 0.8 Zaakceptuj język: en-us, en; q = 0.5 Zaakceptuj kodowanie: gzip, deflate Akceptuj-zestaw znaków: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Połączenie: podtrzymywanie przy życiu KLUCZ NACZYŃ WŁASNYCH: NOWA NA ZAMÓWIENIE Pragma: no-cache Cache-Control: no-cache Content-Length: 0
Różnica jest dość oczywiste, ale nie wiem, co robię źle w kodzie jQuery.
Czy ktoś może mi pomóc?
Czy wysłaniu 'prośbę Post' między serwerami? – Blender
Blender jest na dobrej drodze. Najprawdopodobniej jest to naruszenie sandbox. Uzyskaj dostęp do usługi VIA jsonp lub użyj serwera jako proxy do usługi. – John
"i nagłówki smae podczas wykonywania postu z plakatem" .. czym jest "PLAKAT"? – humblelistener