Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Node.js 如何从express服务器向客户端动态发送新号码_Node.js_Client Server_Express_Ejs - Fatal编程技术网

Node.js 如何从express服务器向客户端动态发送新号码

Node.js 如何从express服务器向客户端动态发送新号码,node.js,client-server,express,ejs,Node.js,Client Server,Express,Ejs,在express服务器中,我有这个 app.dynamicHelpers({ dynamicValue: function(req, res) { console.log("returning a new value"); return parseInt(Math.random() * 100); } }); setInterval(function() { alert(<%= dynamicValue %>);

在express服务器中,我有这个

app.dynamicHelpers({
    dynamicValue: function(req, res) {
        console.log("returning a new value");
        return parseInt(Math.random() * 100);

    }

});
setInterval(function() {
        alert(<%= dynamicValue %>);
        }
        ,1000);
在客户端,我有这个

app.dynamicHelpers({
    dynamicValue: function(req, res) {
        console.log("returning a new value");
        return parseInt(Math.random() * 100);

    }

});
setInterval(function() {
        alert(<%= dynamicValue %>);
        }
        ,1000);
setInterval(函数(){
警惕();
}
,1000);
因此,每秒钟都会显示一个新的数字

但事实并非如此。当页面加载时,会生成一个新的数字,但是客户端看到的数字总是相同的,除非页面被重新加载


如何将其更改为它应该执行的操作?

您在这里混合了服务器代码和客户端代码。语句
将值呈现到页面上的脚本中:

setInterval(function() {
  alert(<%= dynamicValue %>);
}
,1000);
<script type="text/javascript" src="dynamic.js" />

<script type="text/javascript">
  setInterval(function() {
    alert(smth.dynamicValue());
  }
  ,1000);
</script>
此脚本稍后由浏览器解释。浏览器无法访问“服务器脚本代码库”

为了在客户端上执行此操作,您需要包含在页面上创建随机数的特定脚本:

setInterval(function() {
  alert(<%= dynamicValue %>);
}
,1000);
<script type="text/javascript" src="dynamic.js" />

<script type="text/javascript">
  setInterval(function() {
    alert(smth.dynamicValue());
  }
  ,1000);
</script>

setInterval(函数(){
警报(smth.dynamicValue());
}
,1000);

您在这里混合了服务器代码和客户端代码。语句
将值呈现到页面上的脚本中:

setInterval(function() {
  alert(<%= dynamicValue %>);
}
,1000);
<script type="text/javascript" src="dynamic.js" />

<script type="text/javascript">
  setInterval(function() {
    alert(smth.dynamicValue());
  }
  ,1000);
</script>
此脚本稍后由浏览器解释。浏览器无法访问“服务器脚本代码库”

为了在客户端上执行此操作,您需要包含在页面上创建随机数的特定脚本:

setInterval(function() {
  alert(<%= dynamicValue %>);
}
,1000);
<script type="text/javascript" src="dynamic.js" />

<script type="text/javascript">
  setInterval(function() {
    alert(smth.dynamicValue());
  }
  ,1000);
</script>

setInterval(函数(){
警报(smth.dynamicValue());
}
,1000);

然后将服务器代码包含到呈现的文件中。这似乎不是一个好办法。另一种方法是什么?那就是将服务器代码包含到呈现文件中。这似乎不是一个好办法。还有别的办法吗?