PHP, en tant que langage côté serveur, utilise généralement le format JSON pour transmettre des données lors de l'interaction avec le front-end. JSON (JavaScript Object Notation) est un format d'échange de données léger En raison de sa simplicité, de sa facilité de compréhension et de sa facilité d'utilisation, il est devenu un format de transmission de données couramment utilisé dans le développement Web. Lors de l'utilisation de JSON sur le front-end, la méthode JSON.stringify() est généralement utilisée pour convertir les données au format JSON et envoyer des requêtes via ajax et d'autres méthodes. Le backend doit utiliser PHP pour recevoir et traiter ces méthodes couramment utilisées. inclure get, post et ajax et d'autres méthodes. Cet article explique comment obtenir le tableau JSON frontal en PHP.
Normalement, lorsque le front-end utilise ajax pour envoyer un POST requête, les données JSON seront utilisées comme requête. La partie données est envoyée en arrière-plan. En PHP, ces données peuvent être obtenues en utilisant la méthode $_POST. Par exemple, le code ajax du front-end est le suivant :
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });
Dans le fichier test.php en arrière-plan, on peut utiliser la méthode $_POST pour obtenir les données JSON envoyées par le front-end :
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>
Parmi eux, La méthode file_get_contents("php://input") peut obtenir les données de la requête POST, la méthode json_decode décode les données dans un tableau PHP, et enfin utilise le print_r fonction pour afficher le tableau sur la console.
En plus de la méthode POST, le front-end peut également utilisez la méthode GET pour envoyer des données JSON. Ces méthodes sont généralement utilisées pour obtenir des données. Par exemple, le code ajax du front-end est le suivant :
$.ajax({ type: "GET", url: "test.php", data: {"name": "John", "age": 25}, contentType: "application/json", success: function(data) { console.log(data); } });
Dans le fichier test.php en arrière-plan, on peut utiliser la méthode $_GET pour obtenir les données JSON envoyées par le front-end . Cependant, étant donné que les données de la requête GET ne sont pas envoyées directement au serveur, mais sont ajoutées à la chaîne de requête après l'URL, certains traitements sont requis sur ces données. Par exemple, si les données JSON sont codées en base64 puis ajoutées à l'URL, la chaîne de requête doit être décodée et analysée en arrière-plan avant que les données JSON d'origine puissent être obtenues. L'exemple de code est le suivant :
Code front-end :
$.ajax({ type: "GET", url: "test.php", data: {"json": btoa(JSON.stringify({"name": "John", "age": 25}))}, contentType: "application/json", success: function(data) { console.log(data); } });
Code backend :
<?php $json = json_decode(base64_decode($_GET["json"]), true); print_r($json); ?>
Dans cet exemple, nous transmettons les données JSON via la méthode btoa() Après l'encodage base64, il est passé en arrière-plan. L'arrière-plan utilise la méthode base64_decode() pour décoder la chaîne de requête, puis analyse les données JSON décodées dans un tableau PHP via la méthode json_decode() et les envoie enfin à la console.
En plus des méthodes $_POST et $_GET, nous pouvons également utilisez la méthode file_get_contents pour obtenir les données JSON envoyées au front-end. Cette méthode est généralement utilisée pour traiter des données JSON plus volumineuses. Par exemple, le code ajax du front-end est le suivant :
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });
Dans le fichier test.php en arrière-plan, on peut utiliser la méthode file_get_contents pour obtenir directement les données JSON envoyées par le front-end , et utilisez la méthode json_decode pour le décoder dans un tableau PHP.
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>
Bien que la méthode file_get_contents puisse également être utilisée pour obtenir les données de la requête GET, il n'est pas recommandé de l'utiliser dans le développement réel car l'élément de configuration allow_url_fopen doit être activé lors de son utilisation.
Summary
Les méthodes ci-dessus sont plusieurs méthodes courantes pour obtenir le tableau JSON frontal en PHP. Parmi elles, l'utilisation des méthodes $_POST et file_get_contents est plus courante, et l'utilisation de $. _GET pour obtenir des données JSON nécessite d'effectuer des opérations d'encodage et de décodage supplémentaires est plus fastidieuse. Dans le développement réel, nous pouvons choisir la méthode appropriée pour obtenir le tableau JSON frontal en fonction de besoins spécifiques afin de mieux traiter les données.
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!