- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在使用 Node.js 和 Express 时收到以下错误。这是我的版本:
Node : v0.8.8
Express: 3.0.0rc3
尝试访问页面时出现以下错误:
TypeError: Object #<IncomingMessage> has no method 'flash'
at routes (/Users/nblavoie/Desktop/HotPie/HotPie/apps/authentication/routes.js:23:8)
我试图删除 app.use(app.router);从 app.js 没有成功。这是导致错误的代码。请参阅 req.flash 行。
app.post('/sessions', function(req, res)
{
if(req.body.user == 'piechief'
&& req.body.password == '12345')
{
req.session.currentUser = req.body.user;
req.flash('info', "You're logged in as #{req.session.currentUser}");
res.redirect("/login");
return;
}
else
{
req.flash('error', "Those credentials were incorrect. Try again.");
res.redirect("/login");
return;
}
});
这是我的 app.js 中有趣的部分:
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
secret: "DBBD6BE563419EDB0E5CBD228E603D4AD232CE05434B4FA95C6908B64EA515C3",
store: new RedisStore({
host: "127.0.0.1",
port: "6379",
db: "mydb"
})
}));
app.use(app.router);
app.use(express.static(path.join(__dirname, '/public')));
});
有什么想法吗?我对 Express'flash documentation 很感兴趣而且我看不出我做错了什么。
最佳答案
req.flash
已经是 removed as of 3.0 :
req.flash()
(just use sessions:req.session.messages = ['foo']
or similar)- connect-flash can be used as middleware to provide req.flash()
关于node.js - 类型错误 : Object #<IncomingMessage> has no method 'flash' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121887/
我在 Node (4.2.3) 中有这个基本的 express (4.13.3) 服务器。 //blah blah initialization code app.put('/', function(
所以这条消息似乎与其他方法很常见,但找不到它来解决我的问题。不知道问题是什么......我知道顺序对于 express 很重要,但我是 express 新手,这是一个陡峭的学习曲线。提前致谢。 这是我
根据此链接:request - Node The callback argument gets 3 arguments: An error when applicable (usually from
我正在查看 Node 的 request模块,文档说回调接受三个参数 - error、response (http.IncomingMessage) 和 body。 发出请求时,我发现 body 也可
我正在使用 node.js 和 express 开发一个简单的应用程序,几乎一切正常,但我收到此错误: res.render("aggregatedCostList",{ ^ TypeEr
我正在尝试为将 IncomingMessage 作为参数的函数编写单元测试。我知道这是一个流,但我不确定如何创建一个基本的测试虚拟机,因为该流导致我的测试超时 : Timeout - Async ca
ServerResponse 和 http.IncomingMessage 之间有什么区别?我是 Node 新手,我对这两个对象真的很困惑。 最佳答案 http.IncomingMessage对象表示
http.IncomingMessage 何时触发其“关闭”事件? 根据documentation它应该在底层连接关闭时发生。但是,下面的示例代码永远不会调用它(我确定它不是由 keep-alive
我在使用 Node.js 和 Express 时收到以下错误。这是我的版本: Node : v0.8.8 Express: 3.0.0rc3 尝试访问页面时出现以下错误: TypeError: Obj
我是 Node 的新手。我现在有一个简单的服务器,它应该只打印请求 query 和它需要的请求 body 。据我了解,“处理请求”函数实际上不返回一个请求对象,而是一个IncomingMessage
安装 Express.js 后,我在 Node 上写了这个: var express = require('express'), app =express.createServer(); app.co
我一直在努力奔跑serve我的 Angular 项目,每次遇到一些错误时,我都尝试使用谷歌找到答案,现在达到了一个点,我没有找到任何有用的答案。 我下载了MEAN堆栈应用程序并尝试运行,但现在出现以下
我们总是这样写: http.createServer(function(req, res) { req.on('data', function(){}) .on('end', f
在我的 src/app.ts 中,我有: import express from 'express'; import bodyParser from 'body-parser'; const app
正如 Node.js 的文档所述,http.IncomingMessage is a class ,不是接口(interface)。那么为什么在 DefinitelyTyped http.Incomi
我正在尝试为用 node.js 编写的应用程序实现一个简单的 HTTP 端点。我已经创建了 HTTP 服务器,但现在我一直在阅读请求内容正文: http.createServer(function(r
我正在使用 ExpressJS 4.2 和 PassportJS 对本地用户进行身份验证。一切都很好,除非我尝试发出失败的 Flash 消息。这是我的 session ,提前致谢! ==== 需要在
我在测试自己的路由处理程序时没有遇到任何问题,但在这种情况下,我想测试 express 的静态处理程序。我终其一生都无法弄清楚它为什么会挂起。显然,我缺少一些回调或需要发出一些事件。 我尽量做最小的例
我有一个基于 node.js 8 的 Google Cloud Function,我想处理 IncomingMessage 对象的正文。我无法通过 Google Examples 中列出的 req.b
我可以在调用 http.get(url, cb) 时创建 4 个错误场景: httpThrows() 可以通过错误的url格式或错误的回调等来触发 function httpThrows() {
我是一名优秀的程序员,十分优秀!