如何将数据体发送到XMLHttpRequest,如下所示?

时间:2016-06-06 09:59:31

标签: javascript ajax xml http xmlhttprequest

如何正确格式化?

var params = {
  "range":"Sheet1!A4:C4",
  "majorDimension": "ROWS",
  "values": [
    ["Hello World","123", "456"]
  ],
}

然后使用 POST 发送,例如:

   var xhr = new XMLHttpRequest();
   xhr.open(method, url);
   xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
   xhr.onload = requestComplete;
   xhr.send(params);

我知道我会遇到错误,因为有一种正确的方式来格式化我的请求主体"。它看起来像是数组和JSON的混合,所以我请求你如何正确格式化它。

2 个答案:

答案 0 :(得分:14)

var xhr = new XMLHttpRequest();
   xhr.open(method, url);
   xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
   xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
   xhr.onload = requestComplete;
   xhr.send(JSON.stringify(params));

答案 1 :(得分:4)

你试过了吗?你不能只假设你会遇到错误。除非你尝试,否则你不会知道。尝试第一种方法,如果失败,你会发现一种不起作用的方法。然后你会发现其他方法可行,这就是我们学习的方式。我们从错误和失败中学到的不是成功。

话虽如此,如果您的方法失败了,请尝试在params上使用JSON.stringify,然后再发送它

xhr.send(JSON.stringify(params))

这应该有效。