我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
当前回答
//get query¶ms in express
//etc. example.com/user/000000?sex=female
app.get('/user/:id', function(req, res) {
const query = req.query;// query = {sex:"female"}
const params = req.params; //params = {id:"000000"}
})
其他回答
我从其他答案中吸取了教训,并决定在整个网站中使用此代码:
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
考虑一下这个url->/api/endpoint/:id?名称=萨希尔这里id是param,其中as name是查询。您可以像这样在nodejs中获取此值
app.get('/api/endpoint/:id', (req, res) => {
const name = req.query.name; // query
const id = req.params.id //params
});
对于Express.js,您需要执行req.params:
app.get('/user/:id', function(req, res) {
res.send('user' + req.params.id);
});
如果您想避免表达,请使用以下示例:
var http = require('http');
const url = require('url');
function func111(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var q = url.parse(req.url, true);
res.end("9999999>>> " + q.query['user_name']);
}
http.createServer(func111).listen(3000);
用法:
curl http://localhost:3000?user_name=user1
通过yl
2014年5月4日更新
此处保留旧答案:https://gist.github.com/stefek99/b10ed037d2a4a323d638
1) 安装express:npm安装express
应用程序.js
var express = require('express');
var app = express();
app.get('/endpoint', function(request, response) {
var id = request.query.id;
response.end("I have received the ID: " + id);
});
app.listen(3000);
console.log("node express app started at http://localhost:3000");
2) 运行app:node app.js
3) 在浏览器中访问:http://localhost:3000/endpoint?id=something
我收到了ID:某物
(自从我的回答以来,很多事情都发生了变化,我相信这是值得的,让事情保持最新)