web-dev-qa-db-ja.com

jQueryの「load」を使用して追加のパラメーターを使用してGETリクエストを実行するにはどうすればよいですか?

jQueryロードドキュメント を読んでいますが、ロードを使用して、追加のパラメーターを文字列として渡すことでGETリクエストを実行できると記載されています。パラメータをキー/値のペアとして使用する現在のコードは次のとおりです。

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

上記は正常に機能しますが、POSTリクエストです。 loadを使用しながらGETリクエストを実行するように上記を変更するにはどうすればよいですか?

29
Thierry Lam

リンクしたドキュメントによると:

GETリクエストはデフォルトで実行されますが、オブジェクト/マップ(キー/値のペア)の形式で追加のパラメーターを渡すと、POSTが発生します。追加のパラメーターは次のように渡されます。文字列は引き続きGETリクエストを使用します。

したがって、簡単な解決策は、オブジェクトを関数に渡す前に、オブジェクトを文字列に変換することです。残念ながら、ドキュメントには文字列の形式が指定されていませんが、GETリクエストを手動で生成する場合と同じだと思います。

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

$.param(data)を使用します:

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