Ich kann nicht scheinen, dies herauszufinden. Ich habe einen Ajax-Aufruf mit Jquery und wenn die Serverantwort erledigt ist, muss ein Element wie dieses $('#test').load(document.URL + ' #test');
geladen werden.Ajax Anruf warten bis geladen
Die Anzeigeeigenschaft des Stils des Elements wird auf none festgelegt. Nachdem die Antwort fertig ist, möchte ich das Element aktualisieren und wenn dies getan wird, als dieses Element anzeigen.
wenn ich versuche, dieses
.done(function() {
$('#test').load(document.URL + ' #test');
$('#test').show();
});
Das Element zeigen, aber die Refresh nicht fertig ist, so dass es nach einem zweiten verstecken.
ich aslo versucht, es in einer Variablen zu setzen und die Ready-Funktion auf die Variable wie folgt aufrufen:
.done(function() {
var ready = $('#test').load(document.URL + ' #test');
$(ready).ready(function() {
$('#test').show();
});
});
auch nicht funktioniert.
Wie kann ich show() warten, bis die vorherige Zeile des Codes bereit ist?
THNX!
den Anruf verwenden zurück ... siehe die Last() Dokumentation. http://api.jquery.com/load/ – epascarello
Haben Sie versucht, den 'complete: function() {}' Ereignis-Listener hinzuzufügen? Ich benutze jQuery nicht viel, also bin ich mir nicht sicher, ob 'complete:' einem Callback gleichkommt. – NewToJS
Neugierig, warum Ihre anfängliche Ajax nicht die benötigten Daten zurückgibt, anstatt 2 Ajaxaufrufe zu machen, da 'load()' auch ein Ajax-Aufruf ist – charlietfl