2009-09-28 10 views
24

Ich lese die jQuery load documentation und es erwähnt, dass ich laden kann, um eine GET-Anfrage durchzuführen, indem Sie zusätzliche Parameter als Zeichenfolge übergeben. Mein aktueller Code mit meinen Parametern als Schlüssel/Wert-Paar ist:Wie kann ich jQuery "load" verwenden, um eine GET-Anfrage mit zusätzlichen Parametern durchzuführen?

Das obige funktioniert gut, aber es ist eine Post-Anfrage. Wie kann ich das obige ändern, um eine GET-Anfrage auszuführen, während ich immer noch load verwende?

+0

Ihre Datenobjekt Surround mit $ .param() $ ("#output"). load ("server_output.html", $ .param ({Jahr: 2009, Land: "Kanada"})); –

+0

@BastiaanLinders Sie sollten dies als eine vollständige Antwort markieren. Es sollte mit der akzeptierten Antwort kombiniert werden, die nicht beschreibt, wie die Zeichenfolge params erstellt wird. – Amala

Antwort

13

Nach der Dokumentation, die Sie verknüpft:

Eine GET-Anfrage wird durch Standard durchgeführt werden - aber wenn Sie passieren in irgendwelche zusätzlichen Parameter in Form eines Objekt/Karte (Schlüssel/Wert-Paare), dann wird ein POST auftreten. Zusätzliche Parameter , die als Zeichenfolge übergeben werden, verwenden weiterhin eine GET-Anforderung.

Die einfache Lösung besteht also darin, Ihr Objekt in einen String zu konvertieren, bevor Sie es an die Funktion übergeben. Leider gibt die Dokumentation nicht das Format an, in dem die Zeichenfolge enthalten sein sollte, aber ich würde annehmen, dass dies derselbe wäre, als würden Sie die GET-Anforderung manuell generieren.

$("#output").load(
    "/server_output.html?year=2009&country=Canada" 
); 
-2
$("#output").load("server_output.html?year=2009&country=Canada"); 
-2

kann man nicht einfach tun:

$("#output").load(
    "server_output.html?year=2009&country='Canada'" 
); 
82

Verwendung $.param(data):

$("#output").load(
    "server_output.html?" + $.param({ 
     year: 2009, 
     country: "Canada"}) 
); 
+9

Das sollte wirklich die Antwort sein. – Siewers

-3

verwenden

$("#output").load("server_output.html", {"2009":year, "Canada":country}); 
+3

Dies ist eine POST-Anfrage – Slawa