当我将 GET /any 发送到自定义路由“GET /:id”时,我得到 req.params.id = 'favico
I get req.params.id = 'favicon.ico' when I send GET /whatever to custom route 'GET /:id'
(Sails.js)
如何忽略网站图标浏览器请求并获取我想要的 ID?
路由器.js
'GET /:id': 'UrlController.findOne'
网址控制器.js
/**
* `UrlController.findOne()`
*/
findOne: function (req, res) {
var id = req.param('id');
console.log(id);
Url.findOne({where: {id: id}}).exec(function(err, url) {
return res.redirect(url.target);
})
},
有什么方法可以在路由之前简单地确定静态文件的优先级?
在该路由之前为/favicon.ico
创建一个额外的路由,该路由仅返回 404(或者可能是一个花哨的图标)。
或者,您选择的库可能支持路由参数的正则表达式过滤器,您可以设置一个仅根据长度、字符等匹配有效 ID 的过滤器,假设您的 ID 具有某种格式。
您还可以通过在页面中放置<meta>
元素来禁止请求,以告诉浏览器在其他地方查找图标(如果有)。
我找到了一个更优雅的解决方案:
改变:
路由器.js
'GET /:id': 'UrlController.findOne'
自:
'GET /:id': {
controller: "UrlController",
action: "findOne",
skipAssets: true
},
也感谢大家指导我找到解决方案。
使用 serve-favicon将创建一个路由,从而阻止 404。
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
相关文章:
- regex get id imgur embed?
- getDocument by id/get input text from button dons'不起作用
- Chrome扩展插件:runtime.last运行tabs.get/tabs.remove时出错:没有id为0的选项卡
- JavaScript Get the child id
- 当我将 GET /any 发送到自定义路由“GET /:id”时,我得到 req.params.id = 'favico
- Node.js 在使用 id 参数时在 dpd.get 上部署 404 错误,在 dpd.put 上部署 400 错误
- 使用 get 元素按 ID 进行用户输入
- window.location 无法使用 get element by id 来工作
- Jquery .parent() to get an ID
- Get Element by ID 返回使用 JavaScript 动态添加的元素的 null
- Javascript-不带ID或Class的get元素(按钮)
- Backbone Collection get(id) method
- Get id from url
- jQuery - Get <文本通过变量ID
- Listview Get li ID
- 不能用Jquery从$.get() / $.load()函数中选择ID.请帮帮我
- 表单提交给Web Api Get(字符串id)被重复,直到::ERR_CONNECTION_RESET
- Can't get ID of 'this' variable
- javascript get id of "commonAncestorContainer"
- 元素从id通过get请求