我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
当前回答
对于Express.js,您需要执行req.params:
app.get('/user/:id', function(req, res) {
res.send('user' + req.params.id);
});
其他回答
如果您正在使用ES6和Express,请尝试以下销毁方法:
const {id, since, fields, anotherField} = request.query;
在上下文中:
const express = require('express');
const app = express();
app.get('/', function(req, res){
const {id, since, fields, anotherField} = req.query;
});
app.listen(3000);
也可以在析构函数中使用默认值:
//测试样品请求常量要求={查询:{id:'123',字段:[a','b','c']}}常量{身份证件,since=new Date().toString(),字段=['x'],anotherField='默认'}=请求查询;console.log(id,since,fields,anotherField)
在express.js中,你可以很容易地得到它,你需要在控制器函数中做的就是:
app.get('/', (req, res, next) => {
const {id} = req.query;
// rest of your code here...
})
仅此而已,假设您使用的是es6语法。
PD.{id}代表Object destructuring,一个新的es6特性。
在Express中,这已经为您完成了,您可以简单地使用req.query:
var id = req.query.id; // $_GET["id"]
否则,在NodeJS中,您可以访问req.url和内置的url模块来url.parse它:
var url = require('url');
var url_parts = url.parse(request.url, true);
var query = url_parts.query;
您可以使用
request.query.<varible-name>;
可以使用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
});