这是刷新部分网页的有效方式:
$("#content").load(location.href+" #content>*","");
请注意,我不是在这里请求任何新数据,而是基本上重新加载div的内容作为.ajax成功函数的一部分。
这似乎比通过ajax函数请求数据并将其加载到页面中容易得多,但我想知道这种方法是否有任何缺点或问题。
答案 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());