我有一node.js
台服务器,express.js
到目前为止一切都运行良好,但突然间我遇到了这个非常奇怪的错误:
我对域基本 URL 的请求,这意味着我在浏览器中输入了
http://localhost:9191/
出现在 express 中具有 url 参数/index/hud.html
,顺便说一下,这些参数从未在我的代码中的任何地方使用过,因为我没有任何“索引”文件夹。我什至没有html文件,因为我使用jade。我并不完全不知道这个 URL(来自旧代码,其他地方),但在这个服务器中没有提到。我在所有文件中进行了多次搜索以检查这一点。
所以这就是发生的事情:
- 我尝试制作一个请求处理程序,
'*'
以便我知道发生了什么:
处理程序
this.app.get('*', function (req, res) {
console.log(req);
});
req 对象(部分):
route: {
path: '*',
method: 'get',
callbacks: [ [Function] ],
keys: [],
regexp: /^(.*)\/?$/i,
params: [ '/index/hud.html' ]
},
params: [ '/index/hud.html' ] }
这意味着我的浏览器以某种方式想要获取不是我输入的 URL 的东西,或者可能是明确修改了请求?
然后我为这个网址做了一个处理程序。我的第一个猜测是将它重定向到,
'/'
但它产生了一个无限循环(这意味着我的服务器'/index/hud.html'
与'/'
. 请注意,此时我在每个文件中都进行了搜索和研究,在代码。捕获的请求与捕获的请求
'/index/hud.html'
略有不同'/'
处理程序:
this.app.get('/index/hud.html', function (req, res)
{
console.log(req);
});
请求:
route:
{
path: '/index/hud.html',
method: 'get',
callbacks: [ [Function] ],
keys: [],
regexp: /^\/index\/hud\.html\/?$/i,
params: []
},
params: [] }
我也尝试删除浏览器缓存和所有内容(并更改浏览器),但似乎确实以某种方式添加这些参数......有人知道发生了什么吗?