【问题标题】:How can I use jQuery "load" to perform a GET request with extra parameters?如何使用 jQuery "load" 执行带有额外参数的 GET 请求?
【发布时间】:2010-12-02 02:17:12
【问题描述】:

我正在阅读jQuery load documentation,它提到我可以通过将额外参数作为字符串传递来使用 load 来执行 GET 请求。我当前使用参数作为键/值对的代码是:

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

以上工作正常,但这是一个发布请求。如何修改上述内容以在仍然使用 load 的同时执行 GET 请求?

【问题讨论】:

  • 用 $.param() 包围你的数据对象 $("#output").load("server_output.html", $.param({year: 2009, country: "Canada"}) );
  • @BastiaanLinders 您应该将此标记为完整答案。它应该与未描述如何创建参数字符串的已接受答案结合使用。

标签: jquery parameters load http-get


【解决方案1】:
$("#output").load("server_output.html?year=2009&country=Canada");

【讨论】:

    【解决方案2】:

    根据您链接的文档:

    GET 请求将由 默认 - 但如果你传入任何额外的 形式的参数 对象/映射(键/值对)然后是 POST 将发生。额外参数 作为字符串传递仍将使用 GET 请求。

    所以简单的解决方案是在将对象传递给函数之前将其转换为字符串。不幸的是,文档没有指定字符串应该采用的格式,但我猜这与您手动生成 GET 请求相同。

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

    【讨论】:

      【解决方案3】:

      你能不能只做:

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

      【讨论】:

        【解决方案4】:

        使用$.param(data):

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

        【讨论】:

        • 这确实应该是答案。
        【解决方案5】:

        使用这个

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

        【讨论】:

        • 这是 POST 请求
        猜你喜欢
        • 2019-04-16
        • 1970-01-01
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        • 1970-01-01
        • 2018-08-26
        • 1970-01-01
        • 2017-08-30
        相关资源
        最近更新 更多