Lors de la soumission d'un formulaire, les données sont généralement envoyées sous forme de champs de formulaire individuels. Cependant, si vous souhaitez envoyer des données sous forme d'objet JSON, vous pouvez utiliser les méthodes suivantes :
Convertissez les données du formulaire en un tableau à l'aide de SerializeArray() de jQuery. méthode, puis stringifiez-la en JSON.
var formData = JSON.stringify($("#myForm").serializeArray());
Créez une zone de texte masquée dans le formulaire et définissez sa valeur sur les données du formulaire stringifié JSON. Cette méthode vous permet d'accéder aux données côté serveur après la soumission du formulaire.
<input type="hidden" name="data" value="{"first_name":"binchen","last_name":"heris"}">
Si les données JSON sont transmises dans le cadre d'une soumission de formulaire régulière, elles doit être décodé côté serveur. Par exemple, en PHP :
$data = json_decode($_POST['data']);
Dans votre code, le problème peut résider dans le fait de négliger de définir explicitement l'en-tête Content-Type sur application/json. Le code corrigé devrait être :
xhr.setRequestHeader('Content-Type', 'application/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!