Maison  >  Article  >  développement back-end  >  Comment envoyer des données JSON de JavaScript vers PHP : deux approches efficaces ?

Comment envoyer des données JSON de JavaScript vers PHP : deux approches efficaces ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-14 12:55:02166parcourir

How to Send JSON Data from JavaScript to PHP: Two Effective Approaches?

Envoi de données JSON de Javascript vers PHP

Le défi se pose lorsque l'on tente de relayer des données JSON depuis l'environnement Javascript d'un navigateur vers un serveur sur lequel PHP va l'interpréter. Pour résoudre ce problème, deux approches se sont révélées efficaces :

Version 1 : Exploiter l'en-tête de requête application/json

  1. Convertir l'objet Javascript en chaîne JSON à l'aide de JSON .stringify().
  2. Utilisez XMLHttpRequest pour envoyer la chaîne JSON au serveur.
  3. Du côté PHP, récupérez les données POST brutes à l'aide de file_get_contents('php://input').

Version 2 : Utilisation de application/x-www-form-urlencoded

  1. Composez une chaîne POST standard en utilisant le format "variable_name=value&variable_name_2= value_2".
  2. En Javascript, attribuez cette chaîne à str_json.
  3. En PHP, le tableau $_POST de PHP se remplira lors de la réception des données POST.

Piège à éviter

Au départ, tenter de transmettre des chaînes JSON avec un en-tête de requête incorrect peut entraîner des difficultés. L'utilisation de application/x-www-form-urlencoded avec le tableau $_POST en PHP entraînera un tableau vide. À l'inverse, l'utilisation de application/json nécessite d'accéder aux données POST brutes via php://input.

Références

  • [Comment accéder aux données POST en PHP ?] (https://stackoverflow.com/questions/4199290/how-to-access-post-data-in-php)
  • [IETF RFC 4627 : Le type de média application/json pour la notation d'objet JavaScript (JSON )](http://www.ietf.org/rfc/rfc4627.txt)

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