我想将参数传递给页面。但是有404.我的代码:
app.js
var routes = require('./routes/index');
var app = express();
路由/ index.js:
var express = require('express');
var router = express.Router();
router.get('/profile/:id', function (req, res) {
var id = req.params.id;
console.log(id);
res.render('profile', {id: id});
});
我尝试http://localhost:3000/profile?id=56e2c3c2cdde3f64302ac154,但错误:找不到
答案 0 :(得分:4)
您的路线应如下:
http://localhost:3000/profile/56e2c3c2cdde3f64302ac154
自动设置req.params.id
。
答案 1 :(得分:2)
Path param和Query param之间存在差异。您已定义的网址
/profile/:id
说到路由框架,我希望id为Path param,即资源路径的一部分。但是在您提出的网址请求中
http://localhost:3000/profile?id=56e2c3c2cdde3f64302ac154
您正在将id作为查询参数发送。因此,路由框架不知道将id作为查询参数的url。因此它返回404表示“服务器无法找到所请求的内容”。