【问题标题】:How to add JSON data to GET request to XMLHttpRequest?如何将 JSON 数据添加到 GET 请求到 XMLHttpRequest?
【发布时间】:2022-01-05 14:14:51
【问题描述】:

我在 GET 请求中设置 JSON 数据时遇到问题。 我试过了: 作为 POST 请求(与 POST 请求一起工作)

xhr.open("GET", "http://localhost/test", true);
body = JSON.stringify({"email": "hey@mail.com", "password": "101010"});
xhr.send(body);

作为查询字符串:

var json = {"hello": "world"};
var url = "http://localhost/test?data=" + encodeURIComponent(JSON.stringify(json));
xhr.open("GET", url, true);
xhr.send();

在后端方法上,req.json 返回 null,但我可以看到查询字符串。

此外,如果我将 JSON 数据设置为正文,它可以在 Postman 中使用。在后端,我在请求中看到 JSON 数据。

P.S.:在我之前的项目中,我使用了相同的后端框架,但前端是基于 jQuery 而不是纯 JS,并且ajax 方法可以正常工作。

【问题讨论】:

  • 后端不是req.params.data吗?
  • @evolutionxbox,没有。 req.params - 来自表单的数据
  • @evolutionxbox,现在检查一下。我设置了 3 行:req.jsonreq.queryStringreq.params。输出:nulldata=%7B%22Hello%22%3A%5B1%2C2%2C3%5D%7D[]
  • req.query.data 呢?

标签: javascript json xmlhttprequest


【解决方案1】:

2 个月没有 Web 开发就诞生了这么愚蠢的问题。我不使用 node.js,但我认为 node.js 这样做。我记得正确的方法。我曾尝试使用“localhost?data={a: 9}”,但正确的方法是“localhost?a=9”。后端会将所有查询变量解析为 Rest 接口中的输入。感谢@evolutionxbox 踢到右侧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2019-07-21
    相关资源
    最近更新 更多