Maison  >  Article  >  développement back-end  >  Comment envoyer des données JSON de JavaScript vers PHP : quel en-tête vous convient le mieux ?

Comment envoyer des données JSON de JavaScript vers PHP : quel en-tête vous convient le mieux ?

DDD
DDDoriginal
2024-11-13 04:10:02493parcourir

How to Send JSON Data from JavaScript to PHP: Which Header is Right for You?

Comment envoyer des données JSON de JavaScript vers PHP

Lors du développement d'applications Web, vous pouvez rencontrer le besoin d'envoyer des données JSON depuis JavaScript dans le navigateur vers un serveur PHP. Cet article explore deux méthodes pour y parvenir :

Version 1 : Utilisation de l'en-tête "application/json"

  1. Convertissez votre objet JavaScript en chaîne JSON à l'aide JSON.stringify().
  2. Créez une requête AJAX à l'aide de XMLHttpRequest et définissez l'en-tête Content-type sur "application/json".
  3. Envoyez la chaîne JSON au serveur PHP.
... // Code displaying result ...
... // Code to display response ...

Version 2 : Utilisation de l'en-tête "application/x-www-form-urlencoded"

  1. Créer une chaîne codée en URL de votre objet JSON en utilisant le préfixe "json_string=".
  2. Définissez l'en-tête Content-type sur "application/x-www-form-urlencoded."
  3. PHP peut ensuite remplir le $_POST tableau avec votre objet JSON.
... // Code displaying result ...
... // Code to display response ...

Piège à éviter

Lors de l'utilisation de "application/x-www-form-urlencoded" en-tête, PHP ne peut pas accéder directement à la chaîne JSON à partir du tableau $_POST. Utilisez plutôt file_get_contents('php://input') pour accéder aux données brutes POST. À l'inverse, lors de l'utilisation de l'en-tête "application/json", les données POST brutes doivent être accessibles depuis php://input, et non depuis $_POST.

Références

  • [Comment accéder aux données POST en PHP ?](Comment accéder aux données POST en PHP ?)
  • [Détails sur le type application/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