Frage : JQuery AJAX Anruf innerhalb einer anderen Funktion

Hallo,

I morgens muss ein relativer Anfänger bei JQuery und ich einen AJAX Anruf innerhalb einer Funktion bilden und hat, dass Funktionsrückkehr ein Wert von ihr, wie below.

So, im Beispiel unten, ich myValue „Erfolg entsprechen wünscht!“. Jedoch das Beispiel unterhalb immer der Rückkehr „etwas“, obwohl ich weiß, dass der AJAX Anruf erfolgreich war. Wie kann ich die Funktion erhalten, um den Wert des AJAX Anrufs zurückzubringen?

Any Hilfe geschätzt viel!
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var myValue = myFunction („a“, „b ");

Funktion myFunction (var1, var2) {
  var returnVar = „etwas“
  $.ajax ({
    //some-Wahlen…
    Daten: „value1='+ var1+'& value2='+ var2“,
    Erfolg: Funktion () {
      returnVar = „Erfolg! “;
    }
  });
  RückholreturnVar;
}

Antwort : JQuery AJAX Anruf innerhalb einer anderen Funktion

Hallo theskintman,
Ich denke, dass Sie die Effekte eines asynchronen Anrufs hier, die Variable nicht eingestellt auf „Erfolg“ sehen, bevor die Linie, die einen Wert zurückbringt, durchführt!

Sie können Anruf ajax der jQuerys zwingen, um synchron zu laufen, indem Sie das Eigentum „async“ auf falsches einstellen.  Diese kann möglicherweise nicht die beste Weise sein, mit Ihrem Code zu arbeiten - es kann sein, dass Ihr Erfolgswiederholungsbesuch direkt nach Ihrer Seite handeln könnte, oder Daten und Sie besser sein, der Ansicht seiend, dass… auf jeden Fall das folgende Resultate mit Ihren Absichten inline geben kann:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var myValue = myFunction („a“, „b ");

Funktion myFunction (var1, var2) {
  var returnVar = „etwas“
  $.ajax ({
    //some-Wahlen…
    Daten: „value1='+ var1+'& value2='+ var2“,
    async: falsch,
    Erfolg: Funktion () {
      returnVar = „Erfolg! “;
    }
  });
  RückholreturnVar;
}
Weitere Lösungen  
 
programming4us programming4us