Die zentrale Frage, die auch schon in DeKugelschiebers Antwort mitschwingt, ist, ob du succesfull innerhalb von register weiter verwendest. $.post ist asynchron. Dein Callback wird sehr wahrscheinlich erst ausgeführt, nachdem register schon komplett abgearbeitet wurde.
Wie kann ich das verhindern, dass dies asynchron ausgeführt wird?
Du verwendest ajax:
|
Quellcode
|
1
2
3
4
5
6
7
8
|
$.ajax({
async: false,
type: 'POST',
url: '<deine-url>',
data: {
/* ... */
}
});
|
Wenn ich das so richtig lese, hat deine Antwort nur teilweise mit der Frage zu tun.
$.post ist im Grunde nur eine andere Schreibweise für einen Aufruf von
$.ajax, bei dem "post" als Method verwendet wird. Soll bei einem Ajax-Aufruf auf die Antwort gewartet werden, muss dies als Option (
async: false) angegeben werden. Diese Angabe sollte in beiden Fällen funktionieren.
Oder du arbeitest die Logik auch erst in der callback Funktion ab.
Grundsätzlich sollte aber DeKugelschiebers Antwort besser sein, da das synchrone Warten auf eine Antwort das Interagieren mit der Oberfläche unterbindet.