NodeJS - 没有 EXPRESS - 如何获取查询参数?
NodeJS - WITHOUT EXPRESS - how to get query-params?
我通过 localhost:3000?paramname=12345
调用我的应用程序
在 NodeJS 中我有
server.js
var http = require('http');
var app = require('./app');
var server = http.createServer(app.handleRequest).listen(3000, function () {
console.log('Server running on Port 3000');
});
和我的app.js
var url = require('url');
var path = require('path');
function handleRequest(req, res) {
// parse url and extract URL path
var pathname = url.parse(req.url).pathname;
// file extention from url
const ext = path.extname(pathname);
console.log(req.url);
});
现在 console.log(req.url)
会输出我 /?paramname=12345
但是我怎么才能只得到变量名 paramname
或者它的值 12345
??
当我尝试我找到的所有东西时,我只得到 undefined
或者脚本因为没有这样的功能而停止。
您可以使用内置的 querystring
模块:
const querystring = require('querystring');
...
const parsed = url.parse(req.url);
const query = querystring.parse(parsed.query);
您可以使用 'url' 模块在纯 Nodejs 中获取查询参数(没有 express)
下面是一些代码片段-
我通过 localhost:3000?paramname=12345
在 NodeJS 中我有
server.js
var http = require('http');
var app = require('./app');
var server = http.createServer(app.handleRequest).listen(3000, function () {
console.log('Server running on Port 3000');
});
和我的app.js
var url = require('url');
var path = require('path');
function handleRequest(req, res) {
// parse url and extract URL path
var pathname = url.parse(req.url).pathname;
// file extention from url
const ext = path.extname(pathname);
console.log(req.url);
});
现在 console.log(req.url)
会输出我 /?paramname=12345
但是我怎么才能只得到变量名 paramname
或者它的值 12345
??
当我尝试我找到的所有东西时,我只得到 undefined
或者脚本因为没有这样的功能而停止。
您可以使用内置的 querystring
模块:
const querystring = require('querystring');
...
const parsed = url.parse(req.url);
const query = querystring.parse(parsed.query);
您可以使用 'url' 模块在纯 Nodejs 中获取查询参数(没有 express)
下面是一些代码片段-