我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
我们可以在Node.js中获取查询字符串中的变量吗,就像在PHP中获取$_get中的变量一样?
我知道在Node.js中,我们可以获取请求中的URL。是否有获取查询字符串参数的方法?
当前回答
您可以使用express ^4.15.4:
var express = require('express'),
router = express.Router();
router.get('/', function (req, res, next) {
console.log(req.query);
});
希望这有帮助。
其他回答
我使用的是MEANJS 0.6.0express@4.16,很好
客户:
控制器:
var input = { keyword: vm.keyword };
ProductAPi.getOrder(input)
服务:
this.getOrder = function (input) {return $http.get('/api/order', { params: input });};
服务器
路线
app.route('/api/order').get(products.order);
控制器
exports.order = function (req, res) {
var keyword = req.query.keyword
...
//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"}
})
在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;
app.get('/user/:id', function(req, res) {
res.send('user' + req.params.id);
});
您可以使用这个,也可以尝试使用主体解析器来解析请求参数中的特殊元素。