AjaxStatus wird nach einem fehlerhaften Request nicht wieder angezeigt

  • Affected Version
    WoltLab Suite 3.1

    Folgender Code:


    Wenn der erste Request fehlschlägt (weil eine PermissionDeniedException geworfen wird), wird beim zweiten Request (andere object-id) kein AjaxStatus mehr angezeigt. In der Console wird nichts angezeigt.

  • Weil selbes Problem :D


    • Official Post

    Das kann ich so auf Basis des Codes nicht nachvollziehen, es gibt keinen Code-Path, bei dem im Fehlerfall der Spinner nicht ausgeblendet wird. Das von dir geschilderte Verhalten würde nur Sinn ergeben, wenn der Counter in AjaxStatus negativ wäre. Hast du mal per Step-Debugger überprüft, ob der Counter von einer anderen Stelle aus beeinflusst wird? In Chrome lässt sich JS auch on-the-fly bearbeiten, praktisch um schnell mal eine Debug-Ausgabe einzubauen.

  • Habe nur kurz getestet: _timeoutShow scheint in Status::show nicht null zu sein, weswegen beim zweiten Request die Klasse active nicht hinzugefügt wird und dadurch der Spinner nicht sichtbar wird.


    P.S. Ich nutze das WSC 3.1!

    • Official Post

    Ja, das hatte ich dann auch bemerkt.


    Im folgenden auch mal der JS-Code von dir in "modern". Das ist mit dem IE11 nicht kompatibel, aber das war der Code vorher auch nicht.