如何在for循环中一起使用innerHTML和ejs?

春节

我想使用innerHTML. 如果我不必使用innerHTML,我可以轻松地执行以下操作。

<div>
  <% for (var i = 0; i < messages.length; i++) { %>
    <p><%= messages[i] %></p>
  <% } %>
</div>

我必须innerHTML为此目的使用的原因是我的 React.js 代码被 webpack 最小化,所以我不能把 ejs 代码放在我想要的 React 代码中。为了解决这个问题,我需要放入idReact 代码,以便我可以将消息放在我想要的地方。所以我尝试了以下方法。

反应代码:

<div id="messagesGoHere"></div>

index.ejs 代码:

<script>
  <% for (var i = 0; i < messages.length; i++) { %>
    document.getElementById("messagesGoHere").innerHTML += "<p><%= messages[i] %></p>";
  <% } %>
</script>

这返回错误说

未捕获的语法错误:无效或意外的令牌

我使用 node.js、express 和 redis 来存储消息。

我很感激任何建议。

更新:

以下是我渲染messages对象的方式。

app.get('/', function (req, res) {
  // Get messages
  client.lrange('chat:messages', 0, -1, function (err, messages) {
    if (err) {
      console.log(err);
    } else {
      // Get messages
      var message_list = [];
      messages.forEach(function (message, i) {
        message_list.push(message);
      });
      // Render page
      res.render('index', { messages: message_list });
    }
  });
});

注意事项:

  • 我在问题中提供的第一个不依赖的代码片段innerHTML完全可以正常工作,这证明我的服务器端代码是正确的。
  • 至于<script>标签中的ejs代码,如果我不使用i变量而是0像这样使用"<p><%= messages[0] %></p>",它成功返回了与for循环计数一样多的第一条消息,这也证明了我的服务器端代码是有效的。
  • 问题是for 循环与 ejs 和 innerHTML 的使用。不是我的服务器端代码或任何其他代码。
春节

好吧,我在这个问题上已经完全迷失了,但终于让它起作用了。

首先,我的任何代码都没有错。

正如我最初认为的那样,以下代码片段是正确的。

<script>
  <% for (var i = 0; i < messages.length; i++) { %>
    document.getElementById("messagesGoHere").innerHTML += "<p><%= messages[i] %></p>";
  <% } %>
</script>

在我删除我的 redis 数据messages并重新创建新数据后,它起作用了

所以我相信我的 redis 数据中有一些阻碍。

我很抱歉没有理解真正的问题。

我还要感谢所有在这篇文章中帮助过我的人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在while和foreach循环中一起使用PHP和MySQL?

如何在类和现有事件循环中将Python的websocket与asyncio一起使用

如何在for循环中将ggplot2 aes_string()与cut()一起使用?

在弄清楚如何在字符串报告中一起循环和使用isalpha()和isspace()时遇到麻烦

如何在 Swift iOS 中一起使用 UITableView 和 NSLink?

如何在PHP中一起使用复选框和输入类型编号

如何在SQL Server中一起使用相等和不相等

如何在 MongoDB 中一起使用 match 和 sum?

如何在Verilog中一起使用inout和reg

如何在python中一起使用.join()和.format()

如何在熊猫中一起使用distinct和where子句?

我如何在React中一起使用'update'和setState(prevState)?

如何在Google表格中一起使用to_date和IFERROR?

如何在 Pandas 中一起使用 groupby、select、count(*) 和 SQL 的 where 命令

如何在Bash中一起使用watch和jobs命令?

如何在Apache Beam中一起使用MapElements和KV?

如何在输入中一起使用 :value 和 v-model

如何在Python中一起使用filter,group by和agg函数

如何在SQL Server中一起使用count,case和Distinct

如何在laravel中一起使用whereBetween和like运算符?

如何在SQL中一起使用IN子句和AND子句

如何在Scrapy中一起使用http和https代理?

您如何在Groovy中一起使用GroupBy和Sum?

如何在SQL Server查询中一起使用LIKE和NOT LIKE

如何在angular 1中一起使用ng-if和ng-options

如何在SQL中一起使用数据透视和分组依据?

如何在Redis中一起使用复制和分片?

如何在适配器类和活动中一起使用Interface

如何在Powerapps中一起使用collect和if函数?