Heim >Backend-Entwicklung >PHP-Problem >Wie empfängt PHP das von js zurückgegebene Array?
In der Webentwicklung werden Front-End-JavaScript und Back-End-PHP häufig zusammen verwendet. Wie die verarbeiteten Daten im Front-End-Skript zur weiteren Verarbeitung an das Back-End-PHP-Programm übergeben werden, ist sehr schwierig häufiges Problem. In diesem Artikel wird erläutert, wie Sie mit PHP von JavaScript übergebene Array-Daten empfangen.
1. Front-End-JS-Code zur Implementierung der Array-Übertragung
Um das von JS verarbeitete Array an das Back-End-PHP-Programm zu übergeben, müssen Sie zunächst die Array-Daten konvertieren in einen String in JS umwandeln und den String dann als Parameter an PHP übergeben, wenn eine HTTP-Anfrage gestellt wird.
Das Folgende ist ein einfaches JS-Codebeispiel, das ein Array mit dem Namen „data“ deklariert und es mithilfe der Methode JSON.stringify() in einen String konvertiert:
var data = [1,2,3,4,5]; var jsonString = JSON.stringify(data);# 🎜🎜#Bei der Initiierung Bei einer HTTP-Anfrage kann der konvertierte String als Parameter an PHP übergeben werden. Wenn Sie beispielsweise die Methode ajax() in der jQuery-Bibliothek verwenden, um eine POST-Anfrage zu initiieren, können Sie Daten als Attributwert „data“ an die Methode übergeben:
$.ajax({ type: "POST", url: "process.php", data: {data: jsonString}, success: function(response){ console.log(response); } });Hier die URL des Die POST-Anfrage lautet „process.php“, Daten werden über das Attribut „data“ an das PHP-Programm übergeben. Bei erfolgreicher Rückgabe werden die Antwortinformationen in der Callback-Funktion ausgegeben. 2. Der Back-End-PHP-Code analysiert die übermittelten Array-Daten. In PHP gibt es viele Möglichkeiten, von JavaScript übergebene Array-Daten zu empfangen. Im Folgenden sind zwei häufig verwendete Methoden aufgeführt:
$data = $_POST["data"];Due to Durch die Verwendung der Methode JSON.stringify( in JS ) wird ein Array in einen String konvertiert. Daher müssen Sie auch die Methode json_decode() verwenden, um es in PHP wieder in ein Array zu konvertieren. Sie können beispielsweise die folgende Anweisung verwenden, um eine Zeichenfolge in einem Array wiederherzustellen:
$dataArray = json_decode($data,true);Hier bedeutet das Setzen des zweiten Parameters auf „true“, dass das Array in ein assoziatives Array konvertiert wird.
$postData = file_get_contents('php://input'); $dataArray = json_decode($postData,true);Hier werden die Daten im php://-Eingabestream über die Methode file_get_contents() gelesen, und die Daten werden gelesen mit der Methode json_decode() in ein Array konvertiert. Wenn Sie den zweiten Parameter auf „true“ setzen, wird das Array ebenfalls in ein assoziatives Array konvertiert. 3. Vollständiges PHP-Codebeispiel Das Folgende ist ein vollständiges PHP-Codebeispiel zum Empfangen und Verarbeiten von Array-Daten, die von JavaScript übergeben werden. Lesen Sie zunächst die Daten im php://-Eingabestream mit der Methode file_get_contents() und konvertieren Sie die Daten mit der Methode json_decode() in ein Array. Nach der Verarbeitung können die Verarbeitungsergebnisse als Antwort an das JS-Programm zurückgegeben werden.
<?php header("Content-Type: application/json; charset=UTF-8"); $postData = file_get_contents('php://input'); $arrayData = json_decode($postData,true); $sum = 0; foreach($arrayData as $value){ $sum += $value; } $response = array("success" => true, "result" => $sum); echo json_encode($response); ?>4. Zusammenfassung In der Webentwicklung sind JavaScript und PHP zwei entscheidende Technologien. Um Daten vom Front-End-JavaScript zur Verarbeitung an das Back-End-PHP-Programm zu übergeben, muss das ursprüngliche Array in ein String-Format konvertiert und als Parameter an das PHP-Programm übergeben werden. PHP-Programme können Array-Daten vom Frontend über die Supervariable $_POST und den Eingabestream empfangen und die Zeichenfolge mit der Methode json_decode() zurück in ein Array konvertieren. Nach der Verarbeitung der Daten können Sie mit der Methode json_encode() die Verarbeitungsergebnisse als Daten im JSON-Format an das Front-End-Programm zurückgeben.
Das obige ist der detaillierte Inhalt vonWie empfängt PHP das von js zurückgegebene Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!