2016-04-01 18 views
2

AKTUALISIERT:javascript json von URL analysiert

Ich versuche, eine Antwort von einer URL zu analysieren, haben aber keine Ahnung, ob ich es richtig mache.

Die URL gibt die folgende JSON:

{"make":"truck","date":"23 July 2009","colour":"pink"}; 

Wenn i var ersetzen newtext = xhttp.responseText; mit

var newtext = '{"make": "LKW", "Datum": "23. Juli 2009", "Farbe": "pink"}';

es funktioniert, aber sobald ich zurück zum xhttp.responseText es zeigt nur eine leere Seite.

Der Code ich benutze ist:

<!DOCTYPE html> 
<html> 

<body> 
    <p id="demo"></p> 
    <script> 
    xhttp.open("GET", "https://url.com", false); 
    xhttp.send(); 

    var newtext = xhttp.responseText; 

    var obj = JSON.parse(newtext); 

    document.getElementById("demo").innerHTML = 
    obj.make + "<br>" + 
    obj.colour + "<br>" + 
    obj.date; 
    </script> 
</body> 

</html> 
+1

kopiert Was passiert, wenn Sie es laufen? – jonhopkins

+0

Ihre Antwort ist bereits ein JSON, warum analysieren Sie es erneut? benutze es einfach ohne zu analysieren. –

+0

@SindhooOad, weil der JSON von 'xhttp.responseText' abgerufen wird, bin ich ziemlich sicher, dass es sich um eine Zeichenfolge im JSON-Format handelt, die geparst werden muss – jonhopkins

Antwort

0

Sie haben die Variable xhttp nicht definiert, aber Sie versuchen, Funktionen zu nennen. Dies führt dazu, dass der Fehler Uncaught ReferenceError auftritt und der Rest des Codes nicht ausgeführt wird. Um ein XMLHttpRequest Objekt zu erstellen, wie Sie es scheinbar tun, legen Sie dieses oben in Ihrem Skript ab.

var xhttp; 
if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
} else { 
    // code for IE6, IE5 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

// the object actually exists here now so the functions can be called on it 
xhttp.open("GET", "https://url.com", false); 
xhttp.send(); 
... 

Dann können Sie mit dem Rest des Codes weiter auf, sicher sein, dass Ihr xhttp Objekt initialisiert wurde.

ich normalerweise nicht empfehlen w3schools verwenden, aber der obige Code wurde von http://www.w3schools.com/ajax/ajax_xmlhttprequest_create.asp

+0

Schön, danke, ich werde es versuchen – NewToCode

Verwandte Themen