如何在'nodejs'中查找请求参数

cod*_*ode 11 httpwebrequest node.js

当我向nodejs服务器发送请求时,

当请求发送到nodejs服务器时,我们如何找到请求查询中发送的参数.

req.param

req.params

req.query
Run Code Online (Sandbox Code Playgroud)

所有给出undefined.

当我stringify req要求它时也会出错:

Converting circular structure to JSON
Run Code Online (Sandbox Code Playgroud)

如何查找查询参数.

Jaz*_*zor 16

您可以使用url模块:

$ npm install url
Run Code Online (Sandbox Code Playgroud)

然后这样的事情:

var http = require("http");
var url = require("url");

http.createServer(function(req, res) {

  var parsedUrl = url.parse(req.url, true); // true to get query as object
  var queryAsObject = parsedUrl.query;

  console.log(JSON.stringify(queryAsObject));

  res.end(JSON.stringify(queryAsObject));

}).listen(8080);

console.log("Server listening on port 8080");
Run Code Online (Sandbox Code Playgroud)

在浏览器中测试:

http://localhost:8080/?a=123&b=xxy
Run Code Online (Sandbox Code Playgroud)

对于POST请求,您可以使用bodyParser.

  • 自节点 11 起,url 已被弃用,您应该使用“新 URL” (2认同)