[express]req

原创 2018年04月15日 18:30:24

在Express4.x中的req关于路径的有以下几个属性:

1)req.baseUrl    2)req.originalUrl      3)req.path  

1) req.baseUrl: 

说白了就是你使用app.use('/root')或者router.use('/path1')时候的path的拼接(如path中有pattern,则是匹配后的)。

假设请求url: http://localhost:3000/test1/test2/main?name=joy

app.js

var express = require('express');
var app = express();
app.use('/test1', test);

test.js

const router = require('express').Router();
const test2 = require('./test2');

router.use('/te*t2', test2);
router.get('/', (req, res, next) => {
    console.log(req.baseUrl);// -> /test1 在app.js中用了 app.use('/test1', test)
});

module.exports = router;

test2.js

const express = require('express');
const router = express.Router();

router.get('/main', (req, res, next) => {
    console.log(req.baseUrl);// -> /test1/test2 在app.js中用了 app.use('/test1', test); test.js中用了router.use('/te*t2', test2);
});
module.exports = router;

2) req.originalUrl:原始的请求url

就是原始的请求路径: 这里是http://localhost:3000/test1/test2?name=joy

3) req.path:当前req的请求路径

实际上是req.route.path,是动态计算的,根据上面test.2的实现是req.path = '/main'.

那如果test2.js代码改成

const express = require('express');
const router = express.Router();

router.get('/', (req, res, next) => {
    console.log(req.path);//则 是 / 。如请求url是http://localhost:3000/test1/test2?name=joy
});

module.exports = router;



nodejs -- express 之 req(响应)官方API 翻译

【 翻译不易,谢谢批评指正 】 请求 该req对象表示的HTTP请求,并且具有用于请求查询字符串,参数,身体,HTTP报头,等等性质。在本文档按照惯例,该对象总是被称为req(和HTTP响应res...
  • qq_35085956
  • qq_35085956
  • 2017-04-07 11:21:58
  • 2934

Express框架req,res常用属性与方法

var express = require('express'); var bodyParser = require('body-parser'); var app = express(); //js...
  • Nick_php
  • Nick_php
  • 2016-08-23 00:04:04
  • 4071

Node.js express路由

路由和request的处理 首先看一个最简单的例子: var express = require('express') var app = express(); app.all('/h...
  • junshao90
  • junshao90
  • 2012-11-20 16:49:41
  • 8972

Nodejs 之 乱码

从nodejs后台将中文传给页面显示,不小心就会出现乱码 1,没有用框架,直接用res.write()时      在res.writeHead()时就charset='utf-8'     还...
  • jklfjsdj79hiofo
  • jklfjsdj79hiofo
  • 2012-08-07 14:13:19
  • 3599

Node.js 封装仿照 express 的路由

我们想要仿照express来封装我们的路由,我们先来看看一个仿照express封装的一个简单路由demo,这有助于我们了解express,然后我们会一步步来实现我们自己的简单express路由。主入口...
  • cckevincyh
  • cckevincyh
  • 2017-12-02 21:51:46
  • 100

express 获取请求参数的方式

1、req.params //获取路由信息,例如: /user/:id 2、req.query //get 方法的获取参数,例如:?id=12 3、req.body //post方法的...
  • u012849872
  • u012849872
  • 2016-03-01 09:46:37
  • 1033

Nodejs Express 4.X 中文API 2--- Request篇

转自:http://www.cnblogs.com/ae6623/p/4433109.html req.params 这是一个包含着被命名的路由规则“参数”的对象属性。例如如果你有一个路由规则为:”/...
  • XiaoXIANGZI222
  • XiaoXIANGZI222
  • 2016-09-25 12:20:51
  • 888

nodejs-express4.X框架路由中获取参数值方法

nodejs-express4.X框架路由中获取参数值方法
  • zzwwjjdj1
  • zzwwjjdj1
  • 2016-08-02 16:57:05
  • 12015

nodejs取参四种方法req.body,req.params,req.param,req.body

摘要: nodejs取参四种方法req.body,req.params,req.param,req.body 获取请求很中的参数是每个web后台处理的必经之路,nodejs提供了四种方法来实现。 ...
  • qiaocuiyu
  • qiaocuiyu
  • 2016-10-12 11:27:43
  • 25319

NodeJS取参的四种方法req.hostname/req.params/req.path/req.query

启动服务器node app.js输入网址http://127.0.0.1:9091/idx/:9?name=tom&addr=usaapp.js'use strict';let express = r...
  • kingov
  • kingov
  • 2017-04-22 16:25:41
  • 1149
收藏助手
不良信息举报
您举报文章:[express]req
举报原因:
原因补充:

(最多只允许输入30个字)