Heim >Backend-Entwicklung >PHP-Problem >Wie empfängt PHP das von js zurückgegebene Array?

Wie empfängt PHP das von js zurückgegebene Array?

PHPz
PHPzOriginal
2023-04-20 13:48:15960Durchsuche

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:

    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"];
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.

    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);
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(&#39;php://input&#39;);
$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn