2011-07-02 65 views
0

我正在构建一个Twitter应用程序,这取决于检索Twitter搜索结果。它工作正常,但我仍然需要更新页面以获取新的推文。如何使用Ajax动态检索Twitter搜索结果?

如何让页面像Twitter微件一样动态刷新自己,以显示新的推文?

这是我的代码,请告诉我如何,因为我厌倦了很多脚本,它不适用于我。

的Twitter类

<?php 

class Twitter 
{ 
    public function __construct(){ } 

    public function searchResults($search = null) 
    { 
     $url = "http://search.twitter.com/search.atom?q=" . urlencode($search) . "&lang=en&rpp=50"; 
     $curl = curl_init(); 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
     $result = curl_exec($curl); 
     curl_close($curl); 

     $return = new SimpleXMLElement($result); 
     return $return; 
     } 
    } 
?> 

测试类

<?php 


require_once("twitter.class.php"); 
$Twitter = new Twitter; 

$results = $Twitter->searchResults("usa"); 

foreach($results->entry as $result) 
{ 
    echo "<h3><a href=\"". $result->author->uri ."\">". $result->author->name ."<a/></h3><img src=\"". $result->link[1]->attributes()->href ."\" style=\"float: left;\"><p>". $result->content."</p><div style=\"clear:both;\">&nbsp;</div>"; 
} 
?> 

。 。

在等着你反应:)

回答

0

你可以轮询通过JavaScript/AJAX的变化,通过设置调用在测试类的函数返回的鸣叫列表的计时器。示例(使用jQuery,因为我不是javascript专家):

$(function() { 

    function fetchTweets() { 

     $.ajax({ 
      url: "testclass.php", 
      success: function(data) { 

      // Replace contents of one element with data 
     } 
    } 

    setInterval(fetchTweets(), 60000); 
} 
+0

我应该在哪里放这段代码? – Fahd

+0

这段代码将进入构成页面的html头部分的脚本块中。文件名testclass.php应指向TestClass的文件名,值60000是以毫秒为单位的更新之间的时间延迟。 – CD1212