webentwicklung-frage-antwort-db.com.de

JQuery .load () Callback-Funktion

Ich habe viele Fragen und Lösungen für Probleme dieser Art gesehen, aber nichts hat für mich funktioniert. Ich habe das:

function() {
    $("#bdiv").load("bosses.php #icc10n",function(){
        return $("#bdiv").html();
    });
}

Aber es funktioniert nicht. Zur Verdeutlichung möchte ich den Inhalt in #bdiv laden und dann den Inhalt von #bdiv zurückgeben. Es scheint jedoch, dass $("#bdiv").html() zurückgegeben wird, bevor der Inhalt geladen wird, obwohl ich ihn in eine Rückruffunktion gestellt habe.

17
Dan
$("#bdiv").load("bosses.php #icc10n",function(data){
    // use the data param
    // e.g. $(data).find('#icc10n')
});
42
Petah

soweit ich weiß, können Sie in der Rückruffunktion einer $ .ajax () -, $ .post () -, $ .get () - etc-Methode keine return - Anweisung abgeben. Sie können jedoch den Datenwert in einer außerhalb der Funktion deklarierten Variablen speichern und dann den Wert dieser Variablen festlegen, wenn die Callback-Funktion ausgeführt wird. Und es gibt eine Vielzahl anderer Optionen.

1
Danny Bullis

Das kannst du nicht machen.

AJAX ist asynchronous , was bedeutet, dass Ihre Funktion zurückgegeben wird, bevor der Server eine Antwort sendet.
Sie müssen den Wert mithilfe eines Rückrufs an Ihren Anrufer übergeben, wie es $.load tut.

0
SLaks