2011-01-11 12 views
7

Jednoznacznie określam POST i nie widzę danych o wpisie w Żądaniu, a więcej, ponieważ określa on, że ma OPCJE.Żądanie POST JQuery przekształcające się w OPCJE. Czemu?

Odpowiedź powinna być kodem HTML określającym pasujących użytkowników do zapytania w formacie tabeli. Próbuję opublikować i przeczytać w html, aby utworzyć pole wprowadzania automatycznego uzupełniania.

tego kodu jQuery:

$.post('https://internal.company.com/data/displayUserList', 
    { Email: "", Name: "%GEORGE%"}, 
    function(responseText, textStatus) { 
     console.log("Response:\n" + responseText + textStatus) 
    } 
); 

Zapytanie schwytany przez FireBug1.6.1 (Firefox)

OPTIONS /data/displayUserList HTTP/1.1 
Host: internal.company.com 
User-Agent: Mozilla/5.0 Firefox/3.6.8 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 115 
Connection: keep-alive 
Origin: null 
Access-Control-Request-Method: POST 
+0

Jest wiele powiązanych pytań dotyczących tego zagadnienia w jQuery na SE. Zobacz "Powiązane" Możliwe rozwiązanie jest omówione tutaj: http://stackoverflow.com/questions/2699277/post-data-to-jsonp – OneWorld

Odpowiedz

10

To może się zdarzyć, jeśli naruszy ograniczenie same origin policy. Nagłówek żądania Access-Control-Request-Method sprawia, że ​​tak właśnie jest. Widzę, że podajesz pełny adres https://internal.company.com/data/displayUserList w żądaniu wpisu. Upewnij się, że strona obsługująca ten skrypt pochodzi także od strony https://internal.company.com. Najlepiej byłoby użyć adresu względnego:

$.post('/data/displayUserList', { Email: "", Name: "%GEORGE%" }, 
    function(responseText, textStatus) { 
     console.log("Response:\n" + responseText + textStatus); 
    } 
); 
+0

Tak. Próbuję opublikować adres URL na innej stronie, ale tam, gdzie jest najlepsza domena "company.com", sprawdzę, czy "document.domain" jest taki sam. Zauważyłem też, że jest kilka informacji o plikach cookie wysyłanych po wywołaniu "https://internal.company.com/data/displayUserList" z przeglądarki. Czy istnieje sposób, w jaki mogę je przechwycić i wysłać z tą prośbą? – hashg

+0

Czy protokół jest taki sam? Należy zauważyć, że protokół HTTP vs HTTPS narusza te same zasady pochodzenia. Jeśli chodzi o pliki cookie, będą one automatycznie wysyłane zgodnie z żądaniem AJAX, jeśli te pliki cookie zostały ustawione z właściwością domeny równą najwyższej domenie, aby mogły być współużytkowane między tymi domenami. –

+0

Tak, protokół to HTTPS. Zauważyłem, że ciasteczka nie są odbierane z wyjątkiem problemu OPCJE. Czy powinienem zmienić cokolwiek w rozmowie? – hashg