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);
Nach dem Login kopieren
# 🎜🎜#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);
}
});
Nach dem Login kopieren
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:
Supervariable $_POST zum Empfangen von Daten verwenden-
In PHP können Sie die Supervariable $_POST verwenden um übermittelte Daten zu erhalten. Wenn die Daten beispielsweise als Attributwert „data“ im JS-Code an das PHP-Programm übergeben werden, kann die folgende Anweisung im PHP-Code verwendet werden, um die Daten abzurufen:
$data = $_POST["data"];
Nach dem Login kopieren
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);
Nach dem Login kopieren
Hier bedeutet das Setzen des zweiten Parameters auf „true“, dass das Array in ein assoziatives Array konvertiert wird.
HTTP-Anforderungsdaten direkt verwenden, um das Array zu empfangen. -
In PHP können Sie die Daten der Post-Anfrage direkt über den Eingabestream empfangen (Standard). Beispielsweise kann der folgende Code verwendet werden, um von JavaScript übergebene Array-Daten abzurufen:
$postData = file_get_contents('php://input');
$dataArray = json_decode($postData,true);
Nach dem Login kopieren
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);
?>
Nach dem Login kopieren
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!