Frage

Ich habe diesen HTML:

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

und das 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);
            }
        }
    }

Ich bin auf der Suche Firebug und ich sehe lles wird richtig geschickt, aber ich bekomme keine Antwort überhaupt. Oh, und ich bin mit roher Javascript, weil ich es üben möge. =)

War es hilfreich?

Lösung

Sie versuchen, Cross-Domain-XMLHttpRequest zu tun. Es funktioniert nicht, obwohl der Dienst JSONP unterstützen kann. Gehen Sie eine JSOP Anfrage, benötigen Sie entweder einen <script>-Tag mit den richtigen Event-Handler zu injizieren oder ein Framework wie jQuery verwenden.

Andere Tipps

Wenn Sie jquery Sie könnten einfach tun, um diese

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

, die die usertimeline für den angegebenen Benutzernamen

gedruckt werden
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top