gpt4 book ai didi

带有 JSON 数据的 Javascript HTTP POST

转载 作者:数据小太阳 更新时间:2023-10-29 04:00:39 25 4
gpt4 key购买 nike

我可以发送如下请求吗?使用 JSON 样式对象分配参数。我只得到错误。但是当我使用 REST 客户端并选择 RAW 数据时,就可以了。我想我一定是写错了代码。如何在 JavaScript 中发送原始 JSON 数据?谁能帮帮我?

xmlhttp = new XMLHttpRequest();
var url = "https://someURL";
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = function () { //Call a function when the state changes.
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
}
var parameters = {
"username": "myname",
"password": "mypass"
};
// Neither was accepted when I set with parameters="username=myname"+"&password=mypass" as the server may not accept that
xmlhttp.send(parameters);

最佳答案

没有。 send() method can take a number of different argument types ,但普通对象不是其中之一(因此它可能最终会调用 toString() 并变成 "[Object object]") .

如果你想发送 JSON 那么你必须:

  1. 假设您要发送 JSON:xmlhttp.setRequestHeader("Content-type", "application/json");
  2. 将您的 JavaScript 对象转换为 JSON 文本字符串:var parameters = JSON.stringify({"username":"myname","password":"mypass"});
  3. 准备好在服务器端接受 JSON 而不是 application/x-www-form-urlencoded 数据。

另请注意,由于您使用的是绝对 URI,您可能会遇到cross domain issues。 .

关于带有 JSON 数据的 Javascript HTTP POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18962799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com