在Gmail收到新电子邮件时,该页面会自动显示邮件而不刷新,如何做到这一点?
答案 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)
http://blog.twostepmedia.co.uk/send-html-form-results-in-an-email-from-php-using-jquery-ajax/
使用jQuery非常容易。
答案 3 :(得分:0)
你说AJAX XMLHTTPRequest在wiki上搜索jQuery和ajax,现在它并不是很麻烦,因为它是在4 - 5年前,当时我们使用隐藏的iframe在线模拟桌面应用程序行为。
这是一个开始点: http://api.jquery.com/jQuery.ajax/
这是主要的想法: http://www.w3.org/TR/XMLHttpRequest/