Ich habe Probleme mit der Implementierung eines Rückrufs in meinem JavaScript, das AJAX verwendet. Zunächst einmal, liest das Skript aus einer Datei und Orten in eine Variable:Schwierigkeiten, Rückrufe in JavaScript mit Ajax zu verwenden
jQuery.get('userdata/' + username + '.txt', function(data) {
var userid = data;
});
Dann wird diese Variable in der folgenden Funktion verwendet werden, die aus einer .json Datei liest und nehmen das Ergebnis, dass nur die enthält Wert in userid
.
function loadContacts(filter) {
var contacts = (function() {
var contacts = null;
$.ajax({
'url': 'userdata/' + username + '.json',
'dataType': "json",
'success': function (data) {
contacts = data;
contacts = contacts.filter(function(i) {
return i.id == userid;
});
}
});
return contacts;
})();
// some code for (filter) here
}
Das Problem hierbei ist, dass vor jQuery Zeit hatte, userid
zu erstellen und aus der Datei angegeben ist, lesen Sie die loadContacts
Funktion bereits zu lesen versucht, von userid
so dass es wieder mit einem nicht identifizierten variablen Fehler kommt.
Ich habe die letzten 2/3 Stunden damit verbracht zu lernen, wie man einen Callback in AJAX implementiert, aber ich hatte kein Glück, nachdem ich einige verschiedene Varianten ausprobiert habe.
Ich verstehe, dass ein Rückruf durch die Implementierung, im Wesentlichen bin ich verzögert die loadContacts
Funktion für eine Erfolgsmeldung von jQuery.get
zurück zu warten, so dass er nicht versucht, für userid
suchen, bevor es erstellt worden ist, kann ich einfach nicht scheinen, um es zur Arbeit zu bringen.
Konnte mir jemand helfen?
Ich habe schon versucht, von diesem duplicate Beitrag zu lernen, aber ich verstehe es nicht?