1 AJAX-Request führt zu 2 PUT-Anfragen bei Apache

  • PHP

    1 AJAX-Request führt zu 2 PUT-Anfragen bei Apache

    Ich, ein Kollege und ein Kollege von dem Kollegen basteln gerade an einer Webseite. Wir haben das Problem, dass unter bestimmten Umständen Datensätze nicht aktualisiert werden.
    Wir dann draufgekommen, dass nur eine einzige AJAX-Request vom Browser rausgeht (Chrome zeigt im Network-Tab nur einen Eintrag an), aber der PHP-Code trotzdem 2 Mal ausgeführt wird. Erst mit den Daten, die auch wirklich gesendet wurden, und dann kurz darauf (weniger als 1 Sekunde) nochmal mit alten Daten, die vorher mal gesendet wurden. Dementsprechend wird das in der Datenbank auch nochmal überschrieben (und das steht auch im Query Log).
    Der Apache-Log zeigt ebenfalls 2 PUT-Anfragen an, obwohl da nur eine sein sollte.
    Die zweite Anfrage enthält meistens die Daten, die von der letzten AJAX-Request gesendet wurden.
    Also zeitlich sieht das so aus:
    1. Name auf "Test 1" ändern und speichern.
    2. Request für Update geht raus.
    3. MySQL UPDATE mit Name = "Test 1"
    4. MySQL UPDATe mit Name = "Was anderes" (soll nicht passieren)
    5. Request zum Auslesen geht raus.
    6. "Was anderes" kommt zurück. (soll "Test 1" sein)

    7. Name auf "Test 2" ändern und speichern.
    8. Request für Update geht raus.
    9. MySQL UPDATE mit Name = "Test 2"
    10. MySQL UPDATe mit Name = "Test 1" (soll nicht passieren)
    11. Request zum Auslesen geht raus.
    12. "Test 1" kommt zurück. (soll "Test 2" sein)

    13. Name auf "Test 3" ändern und speichern.
    14. Request für Update geht raus.
    15. MySQL UPDATE mit Name = "Test 3"
    16. MySQL UPDATe mit Name = "Test 2" (soll nicht passieren)
    17. Request zum Auslesen geht raus.
    18. "Test 2" kommt zurück. (soll "Test 3" sein)

    Und so weiter

    Also was ist da los? Warum?



    Edit:
    Wireshark sieht ebenfalls mehrere PUT-Anfragen, obwohl Chrome nur eine anzeigt. Wir testen das gerade.

    Edit 2:
    Wenn im Chrome mehrere Tabs offen sind, die die selbe Seite anzeigen, dann werden Eingaben, die in einem Tab getätigt werden, auch in anderen Tabs durchgeführt. Nennt sich wohl BrowserSync. Hat man nur einen Tab offen, funktioniert es wie zu erwarten.
    Arrrgh!
    7 Stunden sitzen wir da jetzt schon dran. Ich weiß schon, warum ich mich von Web-Technologien normalerweise fern halte.

    Wir versuchen jetzt, dieses BrowserSync auszuschalten. Der Thread hat sich damit auch von selbst erledigt.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Niko Ortner“ ()