2016-08-02 5 views
0

Ich habe eine Webseite, die eine dynamische Anzahl von Eingabefeldern hat, abhängig von den Vorlieben des Benutzers. Ich verwende AJAX, um die Daten zu senden. Ich denke daran, die Daten jeweils einzeln über einzelne POST-Anfragen an eine einzige PHP-Seite zu senden. Diese Seite wird die Variable anzeigen, die festgelegt wurde, und entsprechend reagieren. Wenn ich eine einzige JavaScript-Funktion habe, die eine for-Schleife ausführt und die POST-Anfragen während des Durchlaufs der Eingabefelder sendet, bekomme ich eine PHP-Sitzung für jeden POST, oder bekomme ich nur eine einzige, die das Script startet, und endet?Wie behandelt PHP mehrere POST-Anfragen über AJAX?

+1

Warum würden Sie eine AJAX-Anfrage pro Eingabedatei machen? Geben Sie sie alle in einem, sofern Sie nicht etwas Bestimmtes haben verschiedene Dinge pro Eingabe und alles wird einzeln durchgeführt Die PHP-Sitzung ist pro "Benutzer", nicht pro Anfrage –

+1

Das Skript läuft X-mal, jeder mit der einzelnen Post-Anfrage, aber es ist die gleiche * Sitzung * - Eine Sitzung ist nicht t Das selbe wie eine Anfrage. – trincot

+0

@CharlotteDunois: Ich weiß nicht, wie viele Eingabefelder es gibt, bis der Benutzer bereit ist, da sie nach Bedarf für ihre Anwendung hinzufügen/subtrahieren können. Ich fühlte, dass es einfacher war, jedes Eingabefeld in einer JS-Funktion zu lesen und den Wert jedes Feldes einzeln zu POST zu setzen. Ist das übertrieben? –

Antwort

1

Stellen Sie sicher, dass Sie klar verstehen, was "eine Sitzung" ist, und wie es sich auf HTTP und damit auch auf AJAX bezieht.

Normalerweise würden Sie alle Daten bündeln und in einer AJAX-Anfrage senden, obwohl Sie sicherlich Dinge tun können, wie Sie möchten. Denken Sie daran, dass AJAX-Anfragen wahrscheinlich auf dem Server parallel verarbeitet werden und dass sie möglicherweise in einer unvorhersehbaren Reihenfolge behandelt werden. Daher ist es gängige Praxis, dass „alles, was logisch‚geht zusammen‘ist zusammen, Round-Trip in einem AJAX gesendet.

Ihre‚Session‘, inzwischen einmal eingerichtet werden würde, und dann verwiesen (implizit ...) in allen AJAX-Anfragen, sowie in jeder anderen HTTP- oder HTTPS-Aktivität, die auftritt