Сделать XmlHttpRequest POST с помощью JSON

Как я могу сделать запрос AJAX POST, отправляющий данные JSON с использованием vanilla JS.

Я понимаю, что тип содержимого является кодировкой url и не поддерживает вложенные JSON.

Есть ли способ сделать такой запрос POST, используя вложенный JSON в простой старой JS. Я пробовал различные методы сериализации, найденные здесь на SO, но все они сглаживают мой JSON в один формат.

Здесь мой JSON:

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

Ответы

Ответ 1

Если вы используете JSON правильно, вы можете иметь вложенный объект без каких-либо проблем:

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