2010-02-19 3 views
0

У меня есть этот HTML:Мой 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 отсылается правильно, но я не получаю никакого ответа. О, и я использую raw javascript, потому что я хочу практиковать его. =)

ответ

1

Вы пытаетесь выполнить междоменное XMLHttpRequest. Он не работает, хотя служба может поддерживать JSONP. Чтобы выполнить запрос JSOP, вам нужно либо ввести тег <script> с правильными обработчиками событий, либо использовать фреймворк, такой как jQuery.

+1

+1: Не могу поверить, что я не смотрел на URL. –

+0

Если он не работает для твиттера :) –

0

Если вы используете JQuery вы могли бы просто сделать это

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

, который распечатывает usertimeline для данного пользователя

Смежные вопросы