2010-02-19 31 views
0

我有這個網站:我的AJAX調用不返回任何東西,但沒有失敗或者

<input type="text" id="text"/> 
<input type="button" id="submit" value="Submit" /> 
<div id="twitter_update_list"> 
</div> 

與此javascript:

var xmlHttp; 
document.body.onclick = function(){ 
    var username = document.getElementById('text').value; 
    selectUser(username); 
} 
    function selectUser(username){ 
     var url = "http://twitter.com/statuses/user_timeline/" + username + ".json?callback=twitterCallback2&count=100"; 
     try{// Opera 8.0+, Firefox, Safari 
      xmlHttp = new XMLHttpRequest(); 
     }catch (e){// IE 
      try{ 
       xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch (e) { 
       try{ 
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
       } catch (e){ 
        // Something went wrong 
        alert("Your browser broke!"); 
        return false; 
       } 
      } 
     } 
     xmlHttp.onreadystatechange = processRequest; 
     xmlHttp.open("GET", url, true); 
     xmlHttp.send(null); 
    } 

    function processRequest(){ 
     if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) { 
      if (xmlHttp.responseText == "Not found") { 
       document.getElementById('twitter_update_list').innerHtml = "Not found"; 
      }else if(xmlHttp.responseText == " "){ 
       document.getElementById('twitter_update_list').value = "Empty"; 
      }else{ 
       // No parsing necessary with JSON!   
       document.getElementById('twitter_update_list').value = xmlHttp.responseText; 
       console.log(xmlHttp.responseText); 
      } 
     } 
    } 

我在看螢火,我看到verything被髮送正確但我沒有得到任何迴應。哦,我正在使用原始的JavaScript,因爲我想練習它。 =)

回答

1

您正在嘗試執行跨域XMLHttpRequest。儘管該服務可能支持JSONP,但它不起作用。要執行JSOP請求,您需要使用正確的事件處理程序注入<script>標記或使用諸如jQuery之類的框架。

+1

+1的usertimeline:不能相信我沒有看的URL。 – 2010-02-19 21:49:57

+0

除非他爲twitter工作:) – 2010-02-19 22:17:31

0

如果您使用jquery你可以簡單的做到這一點

$.load("http://twitter.com/statuses/user_timeline/"+username, 
function(data) 
{ 
alert(data); 
} 
); 

這將打印給定用戶名