Wir haben ein Problem in einer unserer Produktions-Web-Apps, aber nur auf iPad / iOS8 .
Grundsätzlich fügt der Benutzer in seiner Anwendung Produkte zu seinem Einkaufswagen hinzu, indem er auf Bilder klickt, die verschiedene Produkte darstellen. Wenn ein Bild angetippt wird, wird das Produkt "ausgewählt" und ein asynchroner Ajax-Anruf wird getätigt; Dieser Aufruf aktualisiert unseren Einkaufswagen. Jeder asynchrone Aufruf dauert etwa 5-10 Sekunden.
Problem tritt auf (jedoch nur auf dem iPad, nicht auf dem Chrome-Desktop usw.), wenn der Benutzer mehrmals hintereinander klickt. Dann schlägt der n-te Ajax-Aufruf mit "Fehler 0" fehl. Hinweis : Wir können einen zweiten Ajax-Aufruf nicht blockieren, wenn einer bereits ausgeführt wird (wie einige Antworten vorschlagen würden), weil der Wagen nicht richtig aktualisiert wird.
Ich habe dieses Verhalten in einem jsFiddle-Beispiel ausfindig gemacht, das Sie hier finden können:
%Vor%Meine Hauptfrage ist:
Wie die anderen Antworten erwähnt haben, sollten Sie eine Warteschlange haben, um diese Anfrage zu bearbeiten und sicherzustellen, dass sie in der Reihenfolge behandelt werden, in der sie erstellt wurden:
%Vor%Diese Seite scheint einen Einblick in die Anzahl der aktiven Verbindungen zu geben, die auf einmal verfügbar sind, und Sie können es auf Ihrem iPad ausprobieren Ссылка
Ich habe es alleine ausgeführt und es wurden maximal 17 Verbindungen erwähnt, aber ich bin auch neugierig auf das Netzwerk, das Sie mit diesen iPads verwenden. Wenn es langsamer ist, sagen 3G oder Edge, könnten diese Verbindungen ziemlich schnell sichern . Ich habe mein iPad auf Wifi getestet und konnte Ihren Fehler auf der Fiddle nicht reproduzieren. Hoffentlich hilft das zumindest, das Problem zu diagnostizieren.
Arbeiten mit den neuesten Versionen von jquery in der folgenden Geige: Ссылка
HTML
%Vor%JAVASCRIPT
%Vor%