繁体   English   中英

使用 JQuery 刷新页面的一部分

[英]Refresh part of a page using JQuery

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

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

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

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

这似乎比通过 ajax function 请求数据并将其加载到页面中要容易得多,

.load .load()方法发送一个 AJAX 请求,所以不,这并不容易,它完全一样:-) 除了它允许的标准$.get()$.post()$.ajax()方法您提供一个选择器,以便您可以在 AJAX 请求期间仅获取返回的 HTML 的一部分。 也许正是这使得它在某些情况下更方便。 但在幕后,所有这些方法最终都会调用$.ajax() 它们只是简写。

如果要刷新 web 页面的一部分,请说元素内的内容,其 ID 或 class 为“content”: <div id="content" class="content">Content to refresh via ajax...</div>

$('#content').load('ajax/newcontent.html');

或者

$('.content').load('ajax/newcontent.html');

从 url "ajax/newcontent.html" 返回的内容将用 id 或 class = "content" 替换 div 元素内的内容。

在此页面上: http://blog.mediasoft.be/partial-page-refresh-with-ajax-and-jquery/似乎有些人无法让它在 IE 上运行,所以我假设它还不是 100% 可靠,并且现在将继续使用使用 JQuery 刷新内容的标准方式。

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

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

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

--

那么就不需要使用 load() 方法了。 这很简单

$('#content').empty().html($('#idOfContentNeeded').html());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM