Javascript POST funktioniert nicht: Übertragen eines Javascript-Arrays an PHP
In diesem Artikel gehen wir auf die Schwierigkeiten ein, die beim Versuch, ein Javascript zu senden, auftreten Array an ein PHP-Skript mithilfe der POST-Methode.
Der Benutzer verwendet eine Javascript-Funktion, um ein Array an ein PHP-Skript zu POSTEN:
<code class="js">function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }</code>
Im PHP-Skript versucht er zu empfangen und drucken Sie das Array aus:
<code class="php"><?php $myval = $_POST['variable']; print_r ($myval); ?></code>
Trotz dieser Bemühungen wird das Array nicht erfolgreich übertragen. Ein möglicher Übeltäter, der in Betracht gezogen werden sollte, ist ein Missverständnis über die Funktionsweise von AJAX.
AJAX, ermöglicht durch jQuery, ist kein automatischer Prozess. Es erfordert eine strukturierte Umsetzung. Ein typischer Arbeitsablauf umfasst:
Im bereitgestellten Code fehlt dem Client-Skript der letzte Schritt: die Verarbeitung der Antwort vom Server. Das PHP-Skript gibt in diesem Fall lediglich das Array aus. Um das Array auf der Clientseite anzuzeigen, muss die Antwort verarbeitet und in einem geeigneten Element, beispielsweise einem div, angezeigt werden.
Hier ist ein Beispiel, wie dieser Schritt mit jQuery implementiert wird:
<code class="js">$(document).ready(function() { $('#btn').click(function() { // Get the value from the input field var txt = $('#txt').val(); // If the input field is empty, display an error if (txt == "") { alert("Enter some text"); } else { // Send the text to the server $.post('catcher.php', { 'text': txt }, function(data) { // The response is now available in the 'data' variable // Update the UI with the response $('#response').text(data.message); }, 'json'); } }); });</code>
In diesem Beispiel wird die Antwort vom Server in der Callback-Funktion der Methode $.post() verarbeitet, wobei die Nachrichteneigenschaft des Datenobjekts im Antwortdiv angezeigt wird.
It Es ist wichtig zu beachten, dass in diesem Beispiel zwar Text als gesendete Daten verwendet wird, derselbe Ansatz jedoch auch auf das Senden von Arrays angewendet werden kann. Der entscheidende Schritt besteht darin, sicherzustellen, dass die Antwort vom Server verarbeitet und auf der Clientseite angemessen angezeigt wird.
Das obige ist der detaillierte Inhalt vonWarum wird mein Javascript-Array nicht per POST an PHP gesendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!