2016-09-22 2 views
0

Mein Szenario:Persistente Mysql Verbindungen zwischen AJAX-Anrufe?

Meine Web-Seite zwei AJAX Anrufe senden. Zweite AJAX Anruf wird als Rückruf für die erste AJAX Anruf in seiner success Funktion gesendet.

1) Im ersten AJAX Aufruf, aktualisiere ich bestimmte Inhalte in einer Tabelle eines bestimmten Benutzers.

2) Im zweiten AJAX Anruf, aktualisiere ich bestimmte Inhalte einiger anderer Tabelle der gleichen Benutzer.

Mein Anliegen:

aus irgendeinem Grund nun die ZweiteAJAX Anruf (Internet-Themen oder etwas anderes) ausfällt, ich sicherstellen möchten, dass die Inhalte AJAX während des ersten aktualisiert Anfrage wird zurückgesetzt.

Ich dachte Persistent Mysql Verbindung eine Lösung für dieses Problem sein kann, haben aber einige Anfragen:

1) Enthält diese ständige Verbindung zu diesem Client gehören, die eingeleitet oder alle Anträge auf Mysql die gleiche persistent verwendet Verbindung?

2) Gibt es eine bessere Lösung für dieses Problem?

UPDATE: ich zwei AJAX Anrufe haben, da ich eine große base64 encoded image in einer der AJAX fordert sende, und es dauert eine riesige Menge an Zeit, um andere Daten zusammen mit dem Bild Senden

+1

ja du hast ein Problem 2 Ajax Anrufe, warum 2 und nicht nur eine? – madalinivascu

+0

mit Transaktionssicherheit mit Ajax funktioniert nicht (kann die Transaktionsinformationen nirgendwo speichern). Sie müssen also Ihr Schema aktualisieren, damit Sie alle Informationen in einem Aufruf schreiben können oder einige unangenehme Datenbank-Dings (z. B. einen Trigger -> http://stackoverflow.com/questions/16892070/mysql-after-insert) ausführen -trigger-which-updates-another-tables-spalte) – Najzero

+0

@madalinivascu: pls sehe mein update in der Frage, deshalb verwende ich zwei AJAX callas – Abhinav

Antwort

0

Das einzige, was das können Sie tun, verwenden Sie eine Cache-Schicht auf der Serverseite für das Bild. Dann speichern Sie nach dem zweiten Schritt tatsächlich alles in der Datenbank. Die Cache-Ebene kann so einfach sein wie das Speichern des Bildes in einem temporären Ordner. (Bilder sollten wohl auf der Festplatte und nicht in der Datenbank gespeichert werden.) Sobald Sie das Bild hochgeladen haben, müssen Sie nur noch den Temperaturpfad in der Sitzung festlegen und im zweiten Schritt verwenden.

Verwandte Themen