Wie kann ich jQuery “load” verwenden, um eine GET-Anforderung mit zusätzlichen Parametern auszuführen?

Lesezeit: 2 Minuten

Benutzer-Avatar
Thierry Lam

Ich lese die Dokumentation zum Laden von jQuery und es wird erwähnt, dass ich load verwenden kann, um eine GET-Anforderung auszuführen, indem ich zusätzliche Parameter als Zeichenfolge übergebe. Mein aktueller Code mit meinen Parametern als Schlüssel/Wert-Paar ist:

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

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

  • Umschließen Sie Ihr Datenobjekt mit $.param() $(“#output”).load(“server_output.html”, $.param({year: 2009, country: “Canada”}));

    – Bastian Linders

    25. Februar 2014 um 12:34 Uhr


  • @BastiaanLinders Sie sollten dies als vollständige Antwort markieren. Es sollte mit der akzeptierten Antwort kombiniert werden, die nicht beschreibt, wie die Params-Zeichenfolge erstellt wird.

    – Amala

    9. Januar 2016 um 18:26 Uhr

Benutzer-Avatar
Kane

Verwenden $.param(data):

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

  • Das sollte eigentlich die Antwort sein.

    – Siewers

    4. Mai 2011 um 10:13 Uhr

Laut der von Ihnen verlinkten Dokumentation:

Standardmäßig wird eine GET-Anforderung ausgeführt. Wenn Sie jedoch zusätzliche Parameter in Form eines Objekts/einer Zuordnung (Schlüssel/Wert-Paare) übergeben, tritt ein POST auf. 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 vorliegen sollte, aber ich würde vermuten, dass es dasselbe wäre, als ob Sie die GET-Anforderung manuell generieren würden.

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

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

kannst du nicht einfach:

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

Benutzer-Avatar
Gua Syd

Benutze das

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

  • Dies ist eine POST-Anfrage

    – Schlawa

    26. Februar 2016 um 10:40 Uhr

  • Dies ist eine POST-Anfrage

    – Schlawa

    26. Februar 2016 um 10:40 Uhr

1204810cookie-checkWie kann ich jQuery “load” verwenden, um eine GET-Anforderung mit zusätzlichen Parametern auszuführen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy