我需要刷新页面的各个部分,以便在有新数据时进行更新!我该怎么办?用jquery?
的示例:
答案 0 :(得分:2)
是的,jQuery非常适合这一点。看看这些方法:
答案 1 :(得分:1)
基本的AJAX通常不需要jQuery。一个简单的例子如下:
liveSection = document.getElementById('latest-news');
request = new XMLHttpRequest;
request.open('GET', '/news-ajax', true);
request.send(null);
request.addEventListener('readystatechange', function() {
if (request.readyState == 4 && request.status == 200)
liveSection.innerHTML = request.responseText;
}, false);
答案 2 :(得分:0)
如果您使用的是Asp.NET,为什么不使用UpdatePanel?它简单可靠。
修改强>
我只是重新阅读了您的问题,并且看起来(根据您的措辞),您希望在服务器上的数据发生更改时更新用户的网页。我只想确保您了解在Web应用程序中,服务器无法触发浏览器执行任何操作。服务器只能响应浏览器请求,因此您需要让浏览器定期轮询服务器。
答案 3 :(得分:0)
我创建了一个简单的例子(使用jQuery)来帮助你理解需要发生的事情的细分,这些是:
1 - 使用Javascript setTimeout
定期轮询服务器(通过ajax),检查加载到浏览器中的内容是否为最新内容。我们可以通过获取最新的项目ID或其他任何内容并将其与变量进行比较来实现这一点,该变量在首次加载页面时已初始化。
2 - 如果项目ID不匹配(有点过于简单化),那么我们可以假设已经有更新,所以我们用某些页面中的某些内容替换某个元素的内容。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function getLatestStuff() {
// fetch the output from a context which gives us the latest id
$.get("isthereanupdate.aspx", function(response) {
// we have the response, now compare to the stored value
if(resp != lastItemId) {
// it's different, so update the variable and grab the latest content
lastItemId = response;
$("#latestStuffDiv").load("updates.aspx");
}
});
}
$(document).ready(function() {
// the value which initializes this comes from the server
var lastItemId = 7;
setTimeout(getLatestStuff, 10000);
});
</script>
答案 4 :(得分:0)
如果您想在有新数据时进行更新,您应该查看comet或pubsubhubbub。 jQuery可以帮助您以漂亮的方式显示数据,但是您需要在服务器端编写内容来发送数据。