app.js代码片段如下:
> app.get('/', function(req, res) {
> var mytime = 0 + 1;
> res.render('home', {time : mytime});
> }
需要做到每秒更新一次time在页面上,我的想法是用setInterval:
> app.get('/', function(req, res) {
> function add() {
> var mytime = 0 + 1;
> res.render('home', {time : mytime});
> }
> setInterval(add,1000);
> }
但是发现不会重新render view,有谁知道如何动态的render view吗?
12 回复
可以做到,可以让用户摁 Alt + R,当频率达到 1000ms 的时候就实现了楼主的需求了。
或者还有一个办法,在前端写 setInterval(add,1000);
, 但是这个 add
得写成 ajax 请求,请求完了之后通过前端的方式渲染出来。
@ChopperLee2011 没有,我就是无言以对么。。
我正经回答一下,你这个代码的需求,用@think2011的第二个办法,可以实现,就是在view页面中使用前端js,ajax请求一个接口,拿你的server time,再更新dom元素。
html输出后是不能被修改的。。。除非你刷新页面。。
刷新页面的方法很多种,比如这个 <meta http-equiv="refresh" content="5">
再比如setInterval 然后localtion.reload() 等等。。