Maison >développement back-end >Problème PHP >Comment php reçoit-il le tableau renvoyé par js

Comment php reçoit-il le tableau renvoyé par js

PHPz
PHPzoriginal
2023-04-20 13:48:15960parcourir

Dans le développement Web, JavaScript front-end et PHP back-end sont des technologies qui sont souvent utilisées ensemble. Comment transmettre les données traitées dans le script front-end au programme PHP back-end pour un traitement ultérieur est une question très courante. Cet article explique comment utiliser PHP pour recevoir des données de tableau transmises depuis JavaScript.

1. Le code JS front-end implémente le transfert de tableau

Pour transmettre le tableau traité par JS au programme PHP back-end, vous devez d'abord convertir les données du tableau en chaîne dans JS, puis utiliser la chaîne comme un paramètre lors du lancement d’une requête HTTP transmise à PHP.

Ce qui suit est un exemple de code JS simple qui déclare un tableau nommé "data" et le convertit en chaîne à l'aide de la méthode JSON.stringify() :

var data = [1,2,3,4,5];
var jsonString = JSON.stringify(data);

Lors d'une requête HTTP, vous pouvez convertir La chaîne résultante est transmise à PHP en tant que paramètre. Par exemple, lorsque vous utilisez la méthode ajax() dans la bibliothèque jQuery pour lancer une requête POST, vous pouvez transmettre des données à la méthode en tant que valeur d'attribut "data" :

$.ajax({
  type: "POST",
  url: "process.php",
  data: {data: jsonString},
  success: function(response){
    console.log(response);
  }
});

Ici, l'URL de la requête POST est "process. php", et les données sont transmises via l'attribut " data" au programme PHP. Si le retour réussit, les informations de réponse sont affichées dans la fonction de rappel.

2. Le code PHP back-end analyse les données du tableau soumises

En PHP, il existe de nombreuses façons de recevoir les données du tableau transmises par JavaScript. Voici deux méthodes couramment utilisées :

  1. Utilisez la super variable $_POST pour recevoir des données

En PHP, vous pouvez utiliser la super variable $_POST pour obtenir les données soumises. Par exemple, si les données sont transmises au programme PHP en tant que valeur d'attribut "data" dans le code JS, l'instruction suivante peut être utilisée dans le code PHP pour obtenir les données :

$data = $_POST["data"];

Depuis la méthode JSON.stringify() est utilisé dans JS pour convertir le tableau en chaîne, vous devez donc également utiliser la méthode json_decode() pour le reconvertir en tableau en PHP. Par exemple, vous pouvez utiliser l'instruction suivante pour restaurer une chaîne dans un tableau :

$dataArray = json_decode($data,true);

Ici, le deuxième paramètre est défini sur true pour convertir le tableau en tableau associatif.

  1. Utilisez directement les données de la requête HTTP pour recevoir des tableaux

En PHP, vous pouvez recevoir directement les données de la requête Post via le flux d'entrée (stdin). Par exemple, vous pouvez utiliser le code suivant pour obtenir les données d'un tableau transmises depuis JavaScript :

$postData = file_get_contents('php://input');
$dataArray = json_decode($postData,true);

Ici, les données du flux php://input sont lues via la méthode file_get_contents() et les données sont converties en tableau à l'aide de la méthode json_decode(). De même, définir le deuxième paramètre sur true convertit le tableau en tableau associatif.

3. Exemple de code PHP complet

Ce qui suit est un exemple de code PHP complet pour recevoir les données de tableau transmises par JavaScript et les traiter. Tout d'abord, lisez les données dans le flux php://input via la méthode file_get_contents() et convertissez les données en un tableau à l'aide de la méthode json_decode(). Après le traitement, les résultats du traitement peuvent être renvoyés au programme JS en réponse.

<?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. Résumé

Dans le développement Web, JavaScript et PHP sont deux technologies cruciales. Pour transmettre les données du JavaScript frontal au programme PHP back-end pour traitement, le tableau d'origine doit être converti au format chaîne et transmis en tant que paramètre au programme PHP. Les programmes PHP peuvent recevoir des données de tableau depuis le front-end via la super variable $_POST et le flux d'entrée, et peuvent utiliser la méthode json_decode() pour reconvertir la chaîne en tableau. Après avoir traité les données, vous pouvez utiliser la méthode json_encode() pour renvoyer les résultats du traitement au programme frontal sous forme de données au format JSON.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn