LX: jquery ajax wird 2 mal ausgeführt (?)

Beitrag lesen

Hallo, Venty!

Die Antwort auf Deine Frage liegt in den Events, die Du verwendest.

Diese funktionieren folgendermaßen: ein Event tritt auf, bspw. das Absenden eines Formulars. In modernen Browsern beginnt nun die erste Phase des Events, das sogenannte "Capturing", bei dem vom document bis zum betroffenen Node alle eventfähigen Knoten durchlaufen werden. Darauf folgt die zweite Phase, das "Bubbling", bei der die gleiche Reihenfolge noch einmal rückwärts durchlaufen wird, bevor die normale Reaktion ausgeführt wird.

Daraus folgt, dass das submit-Callback, in dem Dein AJAX-Request stattfindet, doppelt aufgerufen wird. Das ist leicht zu unterbinden, indem Du eine der beiden Phasen ausschließt:

function(ev){  
  ev.stopPropagation(); // verhindert das Bubbling  
  ...  
}

Das sollte den 2. Request wirksam unterbinden.

Gruß, LX

--
RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine ganz wunderbar. (...)