使用 JSON 使 XmlHttpRequest POST

2022-08-30 04:55:22

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

我知道内容类型是url格式编码的,它不支持嵌套的JSON。

有没有办法在普通的旧JS中使用嵌套的JSON发出这样的POST请求。我已经尝试了SO上的各种序列化方法,但它们都将我的JSON扁平化为一种格式。

这是我的JSON:

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

答案 1

如果您正确使用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" } }));

答案 2