使用JSON进行XmlHttpRequest POST

时间:2016-09-15 19:49:56

标签: javascript json ajax

如何使用vanilla JS发送一个AJAX POST请求发送JSON数据。

我理解内容类型是url表单编码的,它不支持嵌套的JSON。

有没有办法可以在普通的旧JS中使用嵌套的JSON来发出这样的POST请求。我已经尝试过在这里找到的各种序列化方法,但它们都将我的JSON压缩成一种格式。

这是我的JSON:

{
   email: "hello@user.com",
   response: {
       name: "Tester"
   }
}

1 个答案:

答案 0 :(得分:129)

如果正确使用JSON,您可以使用嵌套对象而不会出现任何问题:

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": "hello@user.com", "response": { "name": "Tester" } }));