【发布时间】:2016-03-27 06:39:12
【问题描述】:
我正在使用 Node.js 和 Express 框架来开发网站。我在使用 url 时遇到了奇怪的不当行为。当我点击相关链接 url 时,url 变为“localhost:3000/images/” - 如您所见,最后添加了一个斜杠。但是,当我将所有“图像”更改为“img”或者 url 变为“localhost:3000/img”时,没有添加斜杠。为什么路由器会这样?下面写的代码。 (我用的是 Jade 模板引擎)
//bar.jade
li.nav-item
a.nav-link(href='images')
i.icon-camera
| Images
//end of bar.jade
//images.js (router)
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('images', { title: 'Express'});
});
module.exports = router;
//end of router .js
//app.js
var images =require('./routes/images');
........
........
app.use('/images',images);
//end of app.js
【问题讨论】:
-
尝试在隐身/私密模式下运行您的浏览器,看看它是否仍然发生。还要检查浏览器的开发工具,看看到底发生了什么。
-
它在私有模式和其他浏览器中的行为方式相同。我检查了html,它看起来很正常。我没有太多使用浏览器的开发工具。你觉得我应该检查什么?
-
具体是加载
/images时的初始服务器响应(无论服务器是否返回301/302状态)。 -
我通过 Webstorm 的控制台进行了检查。它显示 'GET /images 303' 'GET /images/ 304' 然后所有资产都以 304 响应加载
-
是的,我发现了问题:-)