如何使用jQuery“load”来执行带有额外参数的GET请求?
我正在阅读jQuery加载文档 ,它提到我可以通过传入额外的参数作为字符串来使用load来执行GET请求。 我的参数作为键/值对的当前代码是:
$("#output").load( "server_output.html", { year: 2009, country: "Canada" } );
以上工作正常,但这是一个post请求。 如何在仍然使用load
同时修改上述内容以执行GET请求?
根据您链接的文档:
默认情况下将执行GET请求 – 但如果您以Object / Map(键/值对)的forms传入任何额外参数,则会发生POST。 作为字符串传递的额外参数仍将使用GET请求。
所以简单的解决方案是在将对象传递给函数之前将其转换为字符串。 不幸的是,文档没有指定字符串应该包含的格式,但我猜它会像手动生成GET请求一样。
$("#output").load( "/server_output.html?year=2009&country=Canada" );
使用$.param(data)
:
$("#output").load( "server_output.html?" + $.param({ year: 2009, country: "Canada"}) );
$("#output").load("server_output.html?year=2009&country=Canada");
你不能这样做:
$("#output").load( "server_output.html?year=2009&country='Canada'" );
用这个
$("#output").load("server_output.html", {"2009":year, "Canada":country});