Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以使用res.render多次渲染局部变量_Javascript_Node.js_Express_Handlebars.js - Fatal编程技术网

Javascript 是否可以使用res.render多次渲染局部变量

Javascript 是否可以使用res.render多次渲染局部变量,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,我有一个关于res.render的问题。我正在尝试为我的网站构建一个非常简单的消息功能,而不是像个人消息、Dms等那样的实时聊天。我正在使用Handlebar来呈现html和node.js app.get('/dashboard/messages/',ensureAuthenticated,function(req,res) { res.render('messages'); Msg.find({ username: req.user.username }, 'username mess

我有一个关于res.render的问题。我正在尝试为我的网站构建一个非常简单的消息功能,而不是像个人消息、Dms等那样的实时聊天。我正在使用Handlebar来呈现html和node.js

app.get('/dashboard/messages/',ensureAuthenticated,function(req,res) {
  res.render('messages');
  Msg.find({ username: req.user.username }, 'username message sender', function (err, msg) {
    if (err) {
      console.log('notfound')
      return handleError(err);

    } else{
      var msgSender = []

      msg.forEach(function(msg){
        var Obj = {
           'sender': msg.sender,
           'message':msg.message
      }
      msgSender.push(Obj)
   })
   console.log(msgSender.sender)

  res.render('messages',{'sender': msgSender.sender, 'message': msgSender.message})
主要的问题是,如果我放置一个for循环,则渲染只加载发送给用户的最后一条消息。而且你不能设置标题。我在考虑做一个实验
res.send{'sender':msgSender.sender,'message':msgSender.message})
。这是可处理的条形码:

 <div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title">Messages</h3>
  </div>
  <div class="panel-body">
     <h1>From: {{sender}}</h1>

    <h3><p>Message: {{message}}</p></h3>
  </div>
</div>

信息
发件人:{{sender}}
消息:{{Message}}


那么问题出在哪里?这不起作用?@AkarshSatija不,它只会加载一个空的白色页面。这意味着呈现或传递的数据有问题。尝试只打印输出对象,而不是呈现模板
res.json(msgSender)
@AkarshSatija我不认为这样,我可以完美地传递一条消息,但我需要同时呈现页面和消息。一旦你发送了一个res,你就不能发送更多的数据了,这是我得到的印象。那么问题是什么呢?这不起作用?@AkarshSatija不,它只会加载一个空的白色页面。这意味着呈现或传递的数据有问题。尝试只打印输出对象,而不是呈现模板
res.json(msgSender)
@AkarshSatija我不认为这样,我可以完美地传递一条消息,但我需要同时呈现页面和消息。一旦你发送了一个res,你就不能发送更多的数据了,这是我得到的印象。