Javascript 在Express.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

我有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 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
的任何实例重复多次,错误应该消失