如何从一个快速服务器dynamic地发送一个新号码给客户端
在快递服务器,我有这个。
app.dynamicHelpers({ dynamicValue: function(req, res) { console.log("returning a new value"); return parseInt(Math.random() * 100); } });
在客户端,我有这个。
setInterval(function() { alert(<%= dynamicValue %>); } ,1000);
所以每一秒都应该显示一个新的数字。
但是,这不是什么情况。 生成页面加载新号码时,客户端看到的号码始终是相同的,除非重新加载页面。
这怎么可以改变做它应该的?
你在这里混合服务器代码和客户端代码。 语句<%= dynamicValue %>
将该值呈现为页面上的脚本:
setInterval(function() { alert(<%= dynamicValue %>); } ,1000);
变
setInterval(function() { alert(82.9090561); } ,1000);
这个脚本稍后由浏览器解释。 浏览器无法访问“服务器脚本代码库”。
为了使这个工作在客户端上,你需要包含在页面上创build一个随机数的特定脚本:
<script type="text/javascript" src="dynamic.js" /> <script type="text/javascript"> setInterval(function() { alert(smth.dynamicValue()); } ,1000); </script>