如何在不刷新的情况下更新页面

时间:2011-01-26 09:28:52

标签: ajax

在Gmail收到新电子邮件时,该页面会自动显示邮件而不刷新,如何做到这一点?

4 个答案:

答案 0 :(得分:1)

您可以使用window.setInterval函数定期向服务器发送AJAX请求,检查是否有更新:

window.setInterval(function() {
    // this code will execute on every 5s
    // so we could send an AJAX request to verify if we
    // have new data. Example with jQuery:
    $.getJSON('/foo', { }, function(result) {
        if (result.newItems) {
            // TODO: update the DOM with the items
        }
    });
}, 5000);

另一种可能性是使用HTLM5 WebSocket API,它允许服务器将更新推送到客户端而不是客户端轮询更新。

答案 1 :(得分:1)

使用ajax完成。巧合的是,这个问题被标记为“ajax”。

来自维基百科:http://en.wikipedia.org/wiki/Ajax_(programming

“Ajax(发音为/eɪdʒæks/;异步JavaScript和XML的简写)[1]是一组相互关联的Web开发方法,用于在客户端创建交互式Web应用程序。使用Ajax,Web应用程序可以从中检索数据服务器在后台异步,不会干扰现有页面的显示和行为。通常使用XMLHttpRequest对象检索数据。尽管有名称,但不需要使用XML,并且请求不必是异步的。[2] “

答案 2 :(得分:0)

答案 3 :(得分:0)

你说AJAX XMLHTTPRequest在wiki上搜索jQuery和ajax,现在它并不是很麻烦,因为它是在4 - 5年前,当时我们使用隐藏的iframe在线模拟桌面应用程序行为。

这是一个开始点: http://api.jquery.com/jQuery.ajax/

这是主要的想法: http://www.w3.org/TR/XMLHttpRequest/