Ich arbeite mit einer JSON-Datei, die ich habe, und ich verlinke es in meinem JavaScript. Ich versuche, es über AJAX angefordert zu bekommen, um auf meinem console.log
zu erscheinen, aber ich bekomme gerade null
für meine readystatechange
Funktion. Was mache ich falsch?JSON AJAX Http Anfrage
Auch um besser zu klären, mache ich das für meinen Kurs und im Idealfall, was mein Ziel ist; Ich habe eine JSON-Datei, die ich erstellt habe (myjson.com), ich habe diese URL in meinem JavaScript, und ich versuche, diese JSL-URL auf mein JavaScript zu aktualisieren, also wenn ich eine console.log
mache, zeigt es die Werte der Objekte aus dem JSON. Hier ist mein Code:
<div id="btn1"> Update </div>
<div id="output"></div>
<script>
var output = document.getElementById("output");
document.getElementById("btn1").onclick = function() {
var a = newXMLHttpRequest();
a.onreadystatechange = function() {
}
a.open("GET", "https://api.myjson.com/bins/z79bt", true);
a.send();
};
</script>
UPDATE
-Code aus dem Kommentar:
var output = document.getElementById("output");
document.getElementById("btn1").onclick = function() {
var a = new XMLHttpRequest();
a.onreadystatechange = function() {
if(this.readyState == 4) {
var myObj = this.responseText;
}
console.log(a);
}
a.open("GET", "api.myjson.com/bins/z79bt";, true);
a.send();
};
Hey danke du hast recht ich den Raum zwischen dem neuen XMLHttpRequest habe ich vergessen, eine weitere Fragen Ihre Methode mit den if-Anweisung funktioniert hatte, und ich sehe, dass ich Ich bekomme meine JSON-Objekte zurück Ich folge einem Buch Schritt für Schritt und ich bekomme immer noch keine Informationen zurück, wenn ich es auf diese Weise mache Kannst du sehen, ob etwas nicht stimmt? –
var output = document.getElementById ("Ausgabe"); document.getElementById ("btn1"). Onclick = function() { \t var a = neuer XMLHttpRequest(); \t a.onreadystatechange = function() { \t \t if (this.readyState == 4) { \t \t \t var myObj = this.responseText; \t \t} \t \t \t console.log (a); \t} \t a.open ("GET", "https://api.myjson.com/bins/z79bt", wahr); \t a.send(); }; –
@ user7656142 'myObj' wird nur innerhalb des Funktionsumfangs leben. Sie protokollieren die Variable "a" anstelle von "myObj". – Shomz