Tach!
Der Dialog mit den Infos erscheint zwar, aber scheinbar wird der Ajax-Call ohne "warten" auf die User-Bestätigung ausgeführt und ebenso der success-Teil.
Also wird quasi nicht "gewartet" auf die User-Aktion sondern im Hintergrund der Ajax-Call ausgeführt.
beforeSend() muss false zurückgeben, damit der Request abgebrochen wird. Das geht aber nicht, weil die Fuktion bereits beendet ist, bevor der darin angestoßene Ajax-Request sein Ergebnis-Callback ausführt. Sowas ließe sich nur dann lösen, wenn beforeSend() ein Promise als Ergebnis haben wollen würde, das man dann entsprechend zurückweisen könnte. beforeSend() ist also nicht der richtige Weg. Stattdessen könntest du den Request erst bei Nutzerbestätigung starten.
dedlfix.