正文解析器失败 to/do 无法从 GET 请求中解析 urlencoded 参数

Body-parser fails to/do not parse urlencoded parameters from GET request

我正在创建一个带有 Nodejs 服务器的网络平台。我正在尝试检索从我的前端发送的 urlencoded 数据,但无法成功。

我如何发送 GET 请求:

xhr.open("GET", address + "?limit=1&offset=1",true);
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
xhr.addEventListener("readystatechange", processRequest, false);

在服务器端:

const bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: true });

app.get('/guid_list', urlencodedParser, function (req, res) {
  console.log(req.body.limit);
  console.log(req.body.offset);
  var headerjwt = HeaderGetJWT(req);
...
}

我在检索我发送的 jwt 令牌时没有问题,但对于 urlencoded 参数总是未定义。 我想知道我是否应该改用多部分内容类型,因为我同时发送令牌和 urlencoded 数据?在这种情况下可能 "multer" 模块,因为 body-Parser 不支持该内容类型。

我建议按如下方式访问 Node.js 中的参数(因为它们是作为查询参数传递的):

app.get('/guid_list', parser, function (req, res) {
    console.log("req.query.limit:", req.query.limit);
    console.log("req.query.offset:", req.query.offset);

});

或者只记录所有参数:

app.get('/guid_list', parser, function (req, res) {
    console.log("req.query:", req.query);
});