Wie Sie auf die JQUERY AJAX-Antwort warten, bevor Sie die Bedingung auswählen

8
%Vor%

Problem ist, dass es immer console.log('here');

zurückgibt

Gibt es eine Möglichkeit, auf CheckForm und CheckPhone zu warten? AJAX-Aufruf von der CheckForm-Funktion:

%Vor%     
feronovak 03.05.2011, 10:21
quelle

4 Antworten

16

Setzen Sie async auf false: ( Siehe unten )

%Vor%

Dadurch wird der AJAX-Anruf blockiert, sodass der Browser darauf wartet, dass er beendet wird, bevor er fortgesetzt wird. Natürlich bin ich mir immer noch nicht sicher, wie sich das auf den Booleschen Wert bezieht, der in der Elternkondition überprüft wird. Vielleicht gibt es Code, den du uns nicht zeigst ...

Bearbeiten: ::: seufzer ::: Ich war jung und töricht, als ich diese Antwort gepostet habe und tatsächlich alles vergessen hatte. Ich behalte die oben genannten Informationen für historische Zwecke unverändert (da es einigen Leuten geholfen zu haben scheint oder zumindest, dass sie das haben), aber verstehe, dass dies kein richtiger Ansatz .

Asynchrone Aufrufe synchron zu machen und die Ausführung zu blockieren ist in jedem Fall falsch. Tu es nicht. Strukturieren Sie die Logik stattdessen so, dass sie auf asynchrone Vorgänge reagiert. Im Fall dieser Frage sollten Aufrufe von console.log() im Erfolgs- (oder Fehler-) Handler des AJAX-Aufrufs auftreten, nicht im Code nach dem Aufruf dieses Aufrufs.

    
David 03.05.2011, 10:25
quelle
7

Sie müssen dies beim Rückruf vom Ajax-Aufruf tun - so:

%Vor%

Die Verwendung von AJAX erfordert nicht-lineare Programmierung - Callbacks im Überfluss.

Sie können die Option im Ajax-Aufruf so einstellen, dass sie nicht asynchron ist (dh jQuery wartet auf den Abschluss), aber dies führt dazu, dass Ihre Anwendung / Website nicht so gut funktioniert.

    
Hogan 03.05.2011 10:25
quelle
1

Ja, Sie setzen die Bedingung in die Erfolgsfunktion.

%Vor%     
Sergei Golos 03.05.2011 10:26
quelle
1

wo setzt du boolError=true ?? dats warum es immer hier zurückgibt;

Sie müssen die Logik in checkForm

ändern %Vor%     
diEcho 03.05.2011 10:27
quelle

Tags und Links