0

我正在尝试使用 html 文本字段在页面上打印 Twitter 帐户的最新推文以输入用户 ID。到目前为止,我可以将用户 ID 发送到获取推文并打印它们的 PHP 页面。

我可以使用 php 连接到 twitter api 并打印出最近的推文。我需要能够将推文打印回我的原始页面。此外,我需要 ajax 来继续请求 php 访问 twitter api,以便在用户提交 twitter id 后它会更新而不刷新。

这是链接到 php 的 html 表单:

<form name="input" action="twitterTest2.php" method="get">Twitter Username: 
  <input type="text" name="userid">
  <input type="submit" value="Get recent Tweets">
</form>

这是从 twitter 获取推文的 php:

<?php
  function getTwitterStatus()
  {
    $userid = $_GET['userid'];
    //url that accesses the twitter api for statuses xml
    $url = "https://api.twitter.com/1/statuses/user_timeline/$userid.xml?count=5";
    $xml = simplexml_load_file($url) or die("could not connect");
    foreach ($xml->status as $status) {
      $text = $status->text;
      echo $text;
    }
  }
  getTwitterStatus();
?> 
4

1 回答 1

0
<script>

    /** Create a cross-browser XMLHttp Request object. **/
    function getXMLHttp() {
        var xmlhttp;
        if (window.ActiveXObject) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else if (window.XMLHttpRequest) {
           xmlhttp = new XMLHttpRequest();
        } else {
        alert("Your browser does not support XMLHTTP!");
        }
        return xmlhttp;
}
     //function that searches for the tweets  via php
     function getStatuses(){

   XMLHttp1 = getXMLHttp();

      //ajax call to a php file that will search  the tweets
       XMLHttp1.open( 'GET', 'twitterTest2.php', true);

  // Process the data when the ajax object changes its state
       ajax.onreadystatechange = function() {
         if( ajax.readyState == 4 ) {
           if ( ajax.status ==200 ) {  //no problem has been detected

  response = XMLHttp.responseText;
      document.getElementById("showText").value = response;

      }
}
  }
}

/** Check for response and update the text-area. **/
function updateInfo() { 
    if(xmlhttp1.readyState == 4) { 
        response=XMLHttp1.responseText;
        document.getElementById("showText").value = response;

    } 
}

</script>
于 2013-04-08T15:45:42.033 回答