Javascript 在Express.js中显示Flash消息的最佳方式是什么?
我有Ejs框架中的nodejs应用程序,我是java脚本的新手, 我需要知道在Node.js中设置flash消息的正确方法是什么 下面给出的代码给了我一个错误,如下所示:Javascript 在Express.js中显示Flash消息的最佳方式是什么?,javascript,node.js,express,npm,Javascript,Node.js,Express,Npm,我有Ejs框架中的nodejs应用程序,我是java脚本的新手, 我需要知道在Node.js中设置flash消息的正确方法是什么 下面给出的代码给了我一个错误,如下所示: C:\Users\sad\Desktop\Node Application\routes\Users.js:57 req.flash('error_mesg','已存在同名用户!!') ^ TypeError:无法读取null的属性“flash” 应请求。\回调(C:\Users\as\Desktop\Node Applic
C:\Users\sad\Desktop\Node Application\routes\Users.js:57
req.flash('error_mesg','已存在同名用户!!')
^
TypeError:无法读取null的属性“flash”
应请求。\回调(C:\Users\as\Desktop\Node Application\routes\Users.js:57:10)
at Request.self.callback(C:\Users\sa\Desktop\Node Application\Node\u modules\Request\Request.js:188:22)
两点钟(events.js:106:13)
at Request.emit(events.js:191:7)
应要求。(C:\Users\sd\Desktop\Node Application\Node\u modules\request\request.js:1171:10)
在emitOne(events.js:96:13)
at Request.emit(events.js:188:7)
在收到消息时。(C:\Users\sd\Desktop\Node Application\Node\u modules\request\request.js:1091:12)
在IncomingMessage.g(events.js:291:16)
在emitNone(events.js:91:20)
在IncomingMessage.emit(events.js:185:7)
在endReadableNT(_stream_readable.js:974:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:74:11)
在进程中。_tickCallback(internal/process/next_tick.js:98:9)
假设您发布的最后一位代码是一个快速端点的主体,我猜您在对请求的回调中重写了快速回调变量req
和res
。另外,这不是请求
库回调的当前函数签名,它应该是函数(错误、响应、正文)
,而不是函数(req、res、err、body)
。修复函数签名,使用唯一的变量名,它应该可以工作:
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 (error, response, body){
var status = response.statusCode;
console.log(typeof(status));
if (status = '400'){
req.flash('error_mesg', 'A User with this name already exisit !!')
});
}
var errors=req.validationErrors();
如果(错误){
res.render('寄存器'{
错误:错误
})
}否则{
var newUser={first_name,last_name,role,email,password,company,role}
请求({
url:“http://127.0.0.1:8000/v1/dashboard/register/",
方法:“张贴”,
json:true,//Hey@Rob它工作得很好,但有时它会给我一个错误,比如错误:发送后无法设置标题。如果代码多于您发布的代码,则可能会发生这种情况,当您多次调用res.send
的某个变体时,就会发生这种情况。请确保没有调用res.send
的任何实例重复多次,错误应该消失