1

Twitterアカウントからツイートを受信するためにphpと通信しているajaxがあります。コードは正常に動作しています。唯一のことは、更新されたツイートが自動的に戻ってきて、Twitter ID を更新または再入力しなくても自分のページに印刷されるように、ajax が断続的に php を呼び出すようにすることです。getStatuses() 関数などを呼び出し続ける必要がありますか? または、何とか作り始めた getUpdates() を使用する必要がありますか? ここに私のajax関数があります:

 // the setInterval function added in the getStatusesX function
function getStatusesX()
{
setInterval(getStatuses(),300000);
}

  //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();
      var userID = document.getElementById("userid").value;

      //ajax call to a php file that will extract the tweets
      XMLHttp1.open( 'GET', 'twitterTest2.php?userid='+userID, true);

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

         document.getElementById("tweetbox").innerHTML=XMLHttp1.responseText;

            }
         }
       }
       XMLHttp1.send(null);
}

//function to intermittently call php to check for updated tweets?
function updateInfo() { 
    if(XMLHttp1.readyState == 4) { 

        document.getElementById("tweetbox").innerHTML=XMLHttp1.responseText;

    } 
}

</script>

次に、次のように getStatusesX() 関数をフォームに追加しました。

<form>
Input Twitter ID: <input type="text" name="userid" id="userid">  
<button type="button" onClick="getStatusesX()";>Get recent  tweets</button>
</form> 

まだ機能していません。setInterval を間違った方法で使用していますか?

4

1 に答える 1