【发布时间】:2014-01-26 22:21:00
【问题描述】:
我如何获得带有自动和实时更新的新闻提要?
我想写一些文本,在同一秒钟内,文本显示在我的访问者的时间轴中。
【问题讨论】:
-
嗯.. 这是可能的,但需要使用 jquery AND php(或其他服务器端语言......也很复杂。
我如何获得带有自动和实时更新的新闻提要?
我想写一些文本,在同一秒钟内,文本显示在我的访问者的时间轴中。
【问题讨论】:
您的文本输入 HTML
<form>
<textarea>Type things here... </textarea>
<button type="submit">Send</button>
</form>
jquery
$('form').submit(function(e){
e.preventDefault();
var message = $(this).find('textarea');
$.ajax('update-feed.php?message='+message);
更新-feed.php
if(isset($_POST['message']){
$feed = 'myfeed.php';
$f = fopen($feed,'a+');
fwrite($f,$_POST['message']))
fclose($f);
}
显示提要的页面:
<h1>Feeds:</h1>
<div class="feed">include('myfeed.php');</div>
<script>
checkFeed = function(){
$.ajax('myfeed.php',{success:function(){$('.feed').html(data)});
}
setTimeout(checkFeed(),5000) //check every 5 seconds
</script>
这是一个关于如何实现这一目标的非常基本的示例。它基本上在发送时接受输入,将其保存到一个文件中,将该文件检索到一个页面,然后每 5 秒刷新一次该页面。
【讨论】:
在您提供的示例中,他们使用以下 js 以每 5 秒更新一次 <div id=update> 的内容:
$(document).ready(function(){
var callAjax = function(){
$.ajax({
method:'get',cache: false,
url:'updates.php',
success:function(data){
$("#update").html(data);
}
});
}
setInterval(callAjax,5000);
});
【讨论】: