jquery $ .post()vs $ .get()

时间:2012-03-26 15:59:55

标签: javascript jquery ajax

我需要检索一个简单的页面并使用它返回的数据。 $.post()$.get()之间是否应该使用一个而不是另一个?

我不打算随请求提交任何数据。

5 个答案:

答案 0 :(得分:12)

如果您只想从html文档中检索内容,请改用$.load()

您甚至可以通过提供其他选择器从该文档中检索部分信息:

$('#result').load('ajax/test.html');
$('#result').load('ajax/test.html #justThisContainerPlease');

请参阅http://api.jquery.com/load/


为了更一般地回答您的问题,无论您是对服务器使用POST还是GET请求,它都没有太大区别,这取决于您需要发送的数据量。通常,GET请求限制为2083(因为IE限制查询字符串)。因此,如果您要发送大量数据,则应使用POST请求。

从技术上讲,GET请求应该稍快一些。因为内部只发送一个数据包而不是至少两个(一个用于报头,一个用于传输体)。但这确实是高性能优化。

答案 1 :(得分:2)

这是一个很好的article,解释了HTTP POST和HTTP GET之间的区别。我自己更喜欢使用$.ajax();并相应调整它。

答案 2 :(得分:1)

如果您没有提交数据,那么您实际应该使用$.load();

$.get();$.post()通常用于向服务器提交数据,因此您不需要在此上下文中使用它们。 POST和GET数据之间存在很大差异,您应该花一些时间到read up on them

答案 3 :(得分:0)

转到$.get()因为您不需要发布任何数据,或$.load()如果您想在浏览器中显示该页面(您想要刷新页面的一部分)。< / p>

答案 4 :(得分:0)

它们之间的主要区别在于,使用POST传递数据集合,使用GET传递URL中的数据。如果您传递了大量数据,我建议POST。如果您只是为响应调用URL,请使用get。

通过签出每个的jQuery文档来全面了解。

获取:http://api.jquery.com/jQuery.get/

POST:http://api.jquery.com/jQuery.post/