2012-03-26 64 views
9

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

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

+0

这里有一个快速跑下来的最常用的jQuery AJAX方法:http://www.catchmyfame.com/2012/03/05/whats-the- best-jquery-method-for-retrieval-ajax-data/ – j08691 2012-03-26 16:06:50

回答

12

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

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

看到http://api.jquery.com/load/


更广泛地回答你的问题,它没有什么大的区别,无论你:

你甚至可以通过提供一个额外的选择检索该文件的部分信息使用POSTGET请求到服务器,这取决于您需要发送的数据量。通常,GET请求被限制为2083(因为IE限制了查询字符串)。所以如果你有很多数据要发送,你应该使用POST请求。

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

+0

+1并且因为最后一段而被接受。 – qwertymk 2012-03-27 01:10:15

+0

阅读http://thenetworkguy.typepad.com/nau/2008/08/http-post-haste.html来阐述最后一段 – mbx 2012-05-25 14:30:41

0

$.get()去找,因为你不需要发布任何数据,或者如果你想在浏览器中显示页面(你想刷新页面的一部分),可以使用$.load()

+0

是否有任何理由在$ .post上使用$ .get? – qwertymk 2012-03-26 16:02:07

+0

它更多的语义 - POST意味着'更新服务器上的资源',GET意味着'从服务器检索资源'。 – 2012-03-26 16:03:11

2

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

1

如果你不提交数据,那么你实际上应该使用$.load();

$.get();$.post()通常数据提交到服务器,所以你不需要他们在这方面。 POST和GET数据有很大差异,您应该花一些时间到read up on them