2012-10-01 16 views
7

Wie GET und POST Parameter mit jquery Ajax Anfrage gleichzeitig senden?Jquery senden GET und POST-Parameter gleichzeitig bei Ajax Anfrage

Ich versuche, do=ajax&id=" + ID zu url hinzuzufügen, aber als Ergebnis Anfrage nur auf sss.php ohne Abfrage Zeichenfolge geschliffen (Get Teil). Vielen Dank.

+0

versuchen, '$ .post' anstelle von' $ .ajax' zu verwenden – defuz

+1

@defuz: Er/sie * ist * mit 'post', für alle Absichten und Zwecke. [post] (http://api.jquery.com/jQuery.post/) ist nur ein Convenience-Wrapper für Anfragen vom Typ "post". –

+0

Für mich funktioniert Ihre Lösung. Es sollte auch für dich funktionieren. Sehen Sie in Ihrer Chrome Network Console nach, welche Anfrage an den Server gesendet wurde. –

Antwort

9

Ich denke, Sie erhalten einen Beobachtungsfehler, oder ein serverseitiges statt jQuery-Problem zu sehen. Wenn ich einen Beitrag zu tun 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"); 
    } 
}); 

... sowohl der Abfrage-String und POST-Daten werden an den Server gesendet. Sie können dies leicht überprüfen, wenn Sie einen modernen Browser wie Chrome oder Firefox verwenden und nach dem Auslösen des Posts auf der Registerkarte "Netzwerk" der Konsole nachsehen. In meinem Fall:

Image showing post with both query string and form data

(können Sie ignorieren, dass der Server über mit 403 antworten; JSBin nicht erlaubt POST, aber das wirkt sich nicht auf, was wir in der Anfrage sehen an den Server gehen.)

Also die Antwort hier ist: Überprüfen Sie, wie Sie die Datenserver-Seite bekommen. Die Parameter in der URL ("GET" -Stilparameter) sind als Abfragezeichenfolgenparameter (Teil der URL) verfügbar. Die "POST" -Stilparameter sind als "Formular" -Daten verfügbar (z. B. der Körper der Antwort). Abhängig von der serverseitigen Technologie, die Sie verwenden, gibt es normalerweise verschiedene Möglichkeiten, GET-Parameter (Abfragezeichenfolge) und POST-Parameter (Formulardaten/-körper) abzurufen.

+0

danke, nochmals geprüft, kopieren & vergangene Code und scheint jetzt es funktioniert. weiß nicht, was war falsch mit der ersten Version meines Codes :(Danke – abrahab

+0

+1, hab es, jeden Tag ' SO' lehrt mich etwas. –