我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
当前回答
可以使用url.parse使用url模块收集参数
var url = require('url');
var url_data = url.parse(request.url, true);
var query = url_data.query;
在expressjs中,
var id = req.query.id;
Eg:
var express = require('express');
var app = express();
app.get('/login', function (req, res, next) {
console.log(req.query);
console.log(req.query.id); //Give parameter id
});
其他回答
通过GET方法传递参数有两种方法方法1:MVC方法,其中传递参数,如/routename/:paramname在这种情况下,您可以使用req.params.paramname获取参数值。例如,请参阅下面的代码,其中我希望Id作为参数链接可以是:http://myhost.com/items/23
var express = require('express');
var app = express();
app.get("items/:id", function(req, res) {
var id = req.params.id;
//further operations to perform
});
app.listen(3000);
方法2:常规方法:使用“?”将变量作为查询字符串传递操作人员例如,请参阅下面的代码,其中我希望Id作为查询参数链接可以是:http://myhost.com/items?id=23
var express = require('express');
var app = express();
app.get("/items", function(req, res) {
var id = req.query.id;
//further operations to perform
});
app.listen(3000);
一个小型Node.js HTTP服务器监听端口9080,解析GET或POST数据并将其作为响应的一部分发送回客户端:
var sys = require('sys'),
url = require('url'),
http = require('http'),
qs = require('querystring');
var server = http.createServer(
function (request, response) {
if (request.method == 'POST') {
var body = '';
request.on('data', function (data) {
body += data;
});
request.on('end',function() {
var POST = qs.parse(body);
//console.log(POST);
response.writeHead( 200 );
response.write( JSON.stringify( POST ) );
response.end();
});
}
else if(request.method == 'GET') {
var url_parts = url.parse(request.url,true);
//console.log(url_parts.query);
response.writeHead( 200 );
response.write( JSON.stringify( url_parts.query ) );
response.end();
}
}
);
server.listen(9080);
将其保存为parse.js,然后在控制台上输入“nodeparse.js”来运行它。
可以使用url.parse使用url模块收集参数
var url = require('url');
var url_data = url.parse(request.url, true);
var query = url_data.query;
在expressjs中,
var id = req.query.id;
Eg:
var express = require('express');
var app = express();
app.get('/login', function (req, res, next) {
console.log(req.query);
console.log(req.query.id); //Give parameter id
});
您可以使用express ^4.15.4:
var express = require('express'),
router = express.Router();
router.get('/', function (req, res, next) {
console.log(req.query);
});
希望这有帮助。
我从其他答案中吸取了教训,并决定在整个网站中使用此代码:
var query = require('url').parse(req.url,true).query;
那你可以打电话
var id = query.id;
var option = query.option;
get的URL应该在哪里
/path/filename?id=123&option=456