Mein AJAX-Aufruf Rückkehr ist nicht alles, aber andernfalls ist auch nicht
-
21-09-2019 - |
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. =)
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 werdenLizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow