使用JQuery刷新页面的一部分

时间:2011-07-08 16:11:38

标签: javascript jquery html

这是刷新部分网页的有效方式:

$("#content").load(location.href+" #content>*","");

请注意,我不是在这里请求任何新数据,而是基本上重新加载div的内容作为.ajax成功函数的一部分。

这似乎比通过ajax函数请求数据并将其加载到页面中容易得多,但我想知道这种方法是否有任何缺点或问题。

6 个答案:

答案 0 :(得分:5)

  

这似乎比通过ajax函数请求数据并将其加载到页面

更容易

.load()方法发送一个AJAX请求,所以不,它不容易,它绝对相同:-)除了标准$.get()$.post()和{{1}它允许您提供一个选择器,以便在AJAX请求期间只能获取返回的HTML的一部分。也许这是在某些情况下使它更方便。但在幕后,所有这些方法最终都会调用$.ajax()。他们只是矮人。

答案 1 :(得分:1)

如果要刷新网页的一部分,请说出具有ID或类别“内容”的元素内的内容:<div id="content" class="content">Content to refresh via ajax...</div>

$( '#内容')负载( 'AJAX / newcontent.html');

$( '内容 ')负载(' AJAX / newcontent.html');

从网址“ajax / newcontent.html”返回的内容将使用id或class =“content”替换div元素内的内容。

答案 2 :(得分:1)

在这个页面上:http://blog.mediasoft.be/partial-page-refresh-with-ajax-and-jquery/似乎有些人在IE上工作时遇到了麻烦,所以我假设它不是100%可靠而且会继续使用标准的刷新方式现在使用JQuery的内容。

答案 3 :(得分:0)

实际上没有问题,load操作是jQuery.ajax的包装,它也会进行一些验证并将html分配给选定的元素。

答案 4 :(得分:0)

如果您可以接受其限制,则可以使用iframe重新加载可见页面的一部分。

答案 5 :(得分:0)

谢谢@aruss。为了清楚起见我在加载操作期间没有返回任何HTML,而是从当前网页中的div加载HTML。 - 滚石11分钟前

-

然后就不需要使用load()方法了。它就像

一样简单 。

$( '#内容')空()的HTML($( '#idOfContentNeeded')的HTML());

相关问题