【发布时间】:2011-06-15 17:39:30
【问题描述】:
Gmail中收到新邮件时,页面自动显示邮件而不刷新,怎么办?
【问题讨论】:
标签: ajax
Gmail中收到新邮件时,页面自动显示邮件而不刷新,怎么办?
【问题讨论】:
标签: ajax
您可以使用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,它允许服务器将更新推送到客户端,而不是客户端轮询更新。
【讨论】:
Net标签中看到它吗?
这是通过使用 ajax 完成的。巧合的是,这个问题被标记为“ajax”。
来自维基百科:http://en.wikipedia.org/wiki/Ajax_(programming)
“Ajax(发音为 /ˈeɪdʒæks/;异步 JavaScript 和 XML 的简写)[1] 是一组相互关联的 Web 开发方法,用于在客户端创建交互式 Web 应用程序。使用 Ajax,Web 应用程序可以从服务器在后台异步,不干扰现有页面的显示和行为。通常使用 XMLHttpRequest 对象检索数据。尽管名称如此,但不需要使用 XML,请求也不必是异步的。[2] "
【讨论】:
你说的是 AJAX XMLHTTPRequest 在 wiki 上搜索 jQuery 和 ajax,现在它不像 4-5 年前那么难播种东西,那时我们使用隐藏的 iframe 来在线模拟桌面应用程序行为。
这是一个开始点: http://api.jquery.com/jQuery.ajax/
【讨论】: