web-dev-qa-db-fra.com

Créer XmlHttpRequest POST à l'aide de JSON

Comment puis-je effectuer une demande AJAX POST en envoyant des données JSON à l'aide de Vanilla JS.

Je comprends que le type de contenu est sous forme d’URL et qu’il ne prend pas en charge les JSON imbriqués.

Existe-t-il un moyen de faire une telle demande POST à l'aide de JSON imbriqué dans un vieux JS pur? J'ai essayé les différentes méthodes de sérialisation trouvées ici sur SO mais elles ont toutes pour effet d'aplatir mon JSON dans un seul format.

Voici mon JSON:

{
   email: "[email protected]",
   response: {
       name: "Tester"
   }
}
58
Akshay Khetrapal

Si vous utilisez correctement JSON, vous pouvez avoir un objet imbriqué sans problème:

var xmlhttp = new XMLHttpRequest();   // new HttpRequest instance 
var theUrl = "/json-handler";
xmlhttp.open("POST", theUrl);
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xmlhttp.send(JSON.stringify({ "email": "[email protected]", "response": { "name": "Tester" } }));
159
Gilles Quenot