如何将 JSON 数据添加到 GET 请求到 XMLHttpRequest?
How to add JSON data to GET request to XMLHttpRequest?
我在 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
returns null,但我可以看到查询字符串。
此外,如果我将 JSON 数据设置为正文,它在 Postman 中也能正常工作。在后端,我在请求中看到 JSON 数据。
P.S.: 在我之前的项目中,我使用了相同的后端框架,但前端是基于 jQuery 而不是纯 JS,并且 ajax
方法工作正常。
没有 web 开发的 2 个月诞生了如此愚蠢的问题。我不使用 node.js 但我认为 node.js 是这样的。我记得正确的方法。我试过使用“localhost?data={a: 9}”,但正确的方法是“localhost?a=9”。后端将解析所有查询变量作为 Rest 接口中的输入。感谢@evolutionxbox 踢到右边。
我在 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
returns null,但我可以看到查询字符串。
此外,如果我将 JSON 数据设置为正文,它在 Postman 中也能正常工作。在后端,我在请求中看到 JSON 数据。
P.S.: 在我之前的项目中,我使用了相同的后端框架,但前端是基于 jQuery 而不是纯 JS,并且 ajax
方法工作正常。
没有 web 开发的 2 个月诞生了如此愚蠢的问题。我不使用 node.js 但我认为 node.js 是这样的。我记得正确的方法。我试过使用“localhost?data={a: 9}”,但正确的方法是“localhost?a=9”。后端将解析所有查询变量作为 Rest 接口中的输入。感谢@evolutionxbox 踢到右边。