如何使用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});