Senden eines Javascript-Arrays an PHP
Wenn Sie versuchen, ein Array von JavaScript an PHP per POST zu senden, ist es wichtig zu verstehen, wie asynchrones JavaScript und XML (AJAX) funktioniert.
Um ein Array zu POSTEN, können Sie den folgenden JavaScript-Code verwenden:
<code class="javascript">function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }</code>
Auf der PHP-Seite sollten Sie jedoch die Verwendung der Variable $_POST[' vermeiden '] direkt, um auf das Array zuzugreifen. Erstellen Sie stattdessen eine benutzerdefinierte PHP-Funktion, um das Array zu empfangen und zu verarbeiten:
<code class="php"><?php function receiveArray() { if (!empty($_POST['variable'])) { $myval = json_decode($_POST['variable'], true); print_r($myval); } } ?></code>
Diese Funktion dekodiert das JSON-codierte Array und macht es in der Variablen $myval zugänglich.
POST-Abwicklung in PHP
Es ist wichtig, eine Funktion in PHP zu erstellen, um die POST-Anfrage zu verarbeiten. Dadurch wird sichergestellt, dass der PHP-Code nur bei Bedarf ausgeführt wird.
<code class="php"><?php if (!empty($_POST)) { receiveArray(); } ?></code>
Die Funktion „receiveArray()“ verarbeitet nun die POST-Anfrage und gibt das Array zurück.
Verwendung von separatem PHP und HTML-Dateien
Aus Gründen der Übersichtlichkeit und Wartung wird empfohlen, den PHP- und HTML-Code in verschiedene Dateien aufzuteilen.
PHP-Datei:
<code class="php"><?php function receiveArray() { // Handle the POST request and echo the array } ?></code>
HTML-Datei:
<code class="html"><html> <head> <script src="jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#btn').click(function() { $.post('phpfile.php', { "variable": toSearchArray }); }); }); </script> </head> <body> <input type="text" id="txt"> <input type="button" id="btn"> <pre id="response">