2012-10-01 22 views
7

Jak wysłać parametry GET i POST z zapytaniem Jquery ajax jednocześnie?Jquery wysyła parametry GET i POST jednocześnie na żądanie ajax

Próbuję dodać do=ajax&id=" + ID do url, ale jako wniosek wynik szlifowane tylko sss.php bez łańcucha zapytania (dostać część). dzięki.

$.ajax({ 
    url: "sss.php?do=ajax&id=" + ID , 
    type: "post", 
    data: "ddd=sss", 
    // callback handler that will be called on success 
    success: function(response, textStatus, jqXHR){ 
     // log a message to the console 
     console.log("Hooray, it worked!"); 
    }, 
    // callback handler that will be called on error 
    error: function(jqXHR, textStatus, errorThrown){ 
     // log the error to the console 
     console.log(
      "The following error occured: "+ 
      textStatus, errorThrown 
     ); 
    } 
}); 
+0

spróbuj użyć '$ .post' zamiast' $ .ajax' – defuz

+1

@defuz: On/ona * używa * 'post', do wszystkich celów. ['post'] (http://api.jquery.com/jQuery.post/) jest po prostu wygodnym opakowaniem dla' type: "post" 'requests. –

+0

Dla mnie Twoje rozwiązanie działa. To powinno działać również dla ciebie. Idź i sprawdź swoją konsolę sieciową Chrome, aby zobaczyć, jakie żądanie zostało wysłane na serwer. –

Odpowiedz

9

myślę, że otrzymuję błąd pomiaru, lub widząc po stronie serwera, a nie problemu jQuery. Kiedy zrobić post like this:

$.ajax({ 
    url: "http://jsbin.com/eduzif/1?foo=bar", 
    type: "post", 
    data: "baz=doh", 
    success: function() { 
    display("Done, look at your console's network tab"); 
    } 
}); 

... zarówno łańcuch zapytania i dane POST są wysyłane do serwera. Możesz to łatwo sprawdzić, jeśli używasz nowoczesnej przeglądarki, takiej jak Chrome lub Firefox, i po uruchomieniu wpisu sprawdź kartę Sieć na konsoli. W moim przypadku:

Image showing post with both query string and form data

(można ignorować faktu, że serwer odpowiedział powyżej 403; JSBin nie pozwala POST, ale to nie ma wpływu na to, co widzimy w żądaniu dzieje się z serwerem.)

Oto odpowiedź: Sprawdź dokładnie, jak uzyskujesz serwer po stronie danych. Parametry w adresie URL (parametry stylu "GET") są dostępne jako parametry ciągu zapytania (część adresu URL); parametry stylu "POST" są dostępne jako dane "formularza" (np. treść odpowiedzi). W zależności od używanej technologii serwera, zwykle istnieją różne sposoby pobierania parametrów GET (ciąg kwerendy) w porównaniu z parametrami POST (dane formularza/ciało).

+0

dziękuje, ponownie sprawdził, skopiuj i minął kod i wydaje się, że teraz działa. nie wie co było nie tak z pierwszą wersją mojego kodu :(dzięki – abrahab

+0

+1, Mam to, codzienne ' SO "uczy mnie czegoś. –