Ich versuchte XMLhttpRequest, um einige Daten zu erhalten. Aber das gibt mir diesen Fehler.Javascript async Funktion
Uncaught TypeError: Cannot set property 'points1' of null at doSomething (match.js:36) at XMLHttpRequest.preGameRequest.onload (match.js:29)
Ich weiß nicht wirklich, was passiert mit diesem Code. Ich versuchte es eine Stunde lang selbst herauszufinden, blieb aber stecken.
Was soll ich tun?
preGameRequest.open("GET", "/matches/live.json");
preGameRequest.onload = function() {
preGameData = JSON.parse(preGameRequest.responseText);
doSomething();
}
// line 29 is here
preGameRequest.send();
function doSomething() {
for (var i = 0; i < preGameData[0].length; i++) {
// line 36 is here
preGameData[0][i].points1 = {success: 0, total: 0};
...
}
for (var i = 0; i < preGameData[1].length; i++) {
preGameData[1][i].points1 = {success: 0, total: 0};
...
}
...
}
Was ist in 'preGameRequest.responseText'? – Maxim
Nun, es heißt, dass 'preGameData [0] [i]' null ist, also würde ich anfangen, dort zu debuggen und herauszufinden, warum. Scheint, als hätte dies nichts mit dem Ajax-Aufruf zu tun, scheint das Problem zu sein, dass die Daten zurückgegeben werden und wie du darauf zugreifst. Zeigen Sie uns Ihr JSON. – epascarello
Es könnte von Vorteil sein, den Inhalt von 'live.json' in Ihre Frage aufzunehmen. – BugHunterUK