私はNode.jsのフラッシュメッセージを設定するための正しい方法は何か知っている必要があり 、Javaスクリプトに初心者I'am、EJSの枠組みの中でnodejsアプリを持っているExpress.jsにFlashメッセージを表示する最良の方法は何ですか?
下記の私のコードは私にエラーをスローします、次のように:
0123:C:\Users\sad\Desktop\Node Application\routes\users.js:57
req.flash('error_mesg', 'A User with this name already exisit !!')
^
TypeError: Cannot read property 'flash' of null
at Request._callback (C:\Users\as\Desktop\Node Application\routes\users.js:57:10)
at Request.self.callback (C:\Users\sa\Desktop\Node Application\node_modules\request\request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (C:\Users\sd\Desktop\Node Application\node_modules\request\request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (C:\Users\sd\Desktop\Node Application\node_modules\request\request.js:1091:12)
at IncomingMessage.g (events.js:291:16)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
ここで私はすべてを開始する私のコードは行きます
var flash = require('connect-flash');
// Global VArs
app.use(function (req, res, next) {
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
next();
});
そして、ここで私は実際にそれを適用し、私のコードを行く:
var errors = req.validationErrors();
if(errors){
res.render('register' ,{
errors:errors
})
}else{
var newUser = {first_name,last_name, role,email,password,company,role}
request({
url: "http://127.0.0.1:8000/v1/dashboard/register/",
method: "POST",
json: true, // <--Very important!!!
body: newUser
}, function (req, res, err, body){
var status = res['statusCode']
console.log(typeof(status));
if (status = '400'){
req.flash('error_mesg', 'A User with this name already exisit !!')
}
});
}
あり、質問のこのタイプのいくつかの関連の回答はなく、具体的フラッシュメッセージ。
はここに私のhtml行く:Expressエンドポイントの本体である{{#if error_msg}} <div class="alert alert-danger">{{error_msg}}</div> {{/if}}
ねえ@Robそれが正常に動作しますが、いくつかの時間が、それは私に**エラーのようなエラーを与える:。それらが送られた後、ヘッダーを設定することはできません* * –
投稿したものよりも多くのコードがある場合に起こります。これは 'res.send'の変種を複数回呼び出すと発生します。 'res.send'のインスタンスが何度も呼び出されていないことを確認してください。そのエラーは消えるはずです –