将Node.js Express变量传递给我的静态javascript文件

时间:2017-04-08 10:59:27

标签: javascript html node.js express

如何将一个Node.js Express变量传递给我的静态JavaScript文件?我试图在我的客户端js中进行提取,但为此我需要从数据库中获取2个ID。现在我通过发送带有.ejs文件的ID来欺骗这种行为。这有效,但远非正确。

<span id="user_1"><%= user.ID %></span>
<span id="user_2"><%= matchId %></span>

setInterval(function() {
  let test123 = document.querySelector('.chat_history_section_inner').childElementCount;
  let user_1 = document.querySelector('#user_1').innerHTML;
  let user_2 = document.querySelector('#user_2').innerHTML;;
  fetch('/api?s1=' + user_1 + '&r1=' + user_2 + '&s2=' + user_2 + '&r2=' + user_1, {
    method: 'get'
  }).then(function (response) {
    return response.json()
  }).then(function (res) {
    if (res.length > test123) {
      location.reload();
    } else {
      console.log('Your chat is up to date!')
    }
  });
}, 1000);

1 个答案:

答案 0 :(得分:1)

您是否尝试将其直接传递给变量?

let user_1 = "<%= user.ID %>";

如果您的js文件未由EJS呈现,则必须将其从ejs呈现的文件传递到您的函数,或者将其作为自定义属性添加到您的html标记并从ID中读取属性 - 这类似于您的溶液