【发布时间】:2014-04-30 06:05:42
【问题描述】:
我有一个使用 Express 和 Jade 的 Node 应用程序。我正在从 API 中提取 json 数据,并且我希望该数据在页面上定期刷新。所以,我的想法是有一个空的 div,然后将不同路由/模板的内容注入该 div 并使用 setInterval 刷新它。它最初加载,但从不刷新。这是我的代码的相关位:
board.jade:
extends layout
block content
div(class='bodyBlock')
h1= title
div#data
layout.jade:
!!! 5
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
script(type='text/javascript')(src='//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js')
body
block content
script(type='text/javascript').
$(document).ready(function(){
setInterval ($("#data").load("/currentdev"), 5000 );
});
/currentdev 路由加载 data.jade:
ul
each card in inprogresscards
li(style='margin-bottom: 5px')
b #{card.color} #{card.name} #{card.idShort}
所以,就像我说的,/currentdev 最初被加载到#data 并在我的页面上正确显示。但它永远不会刷新。似乎 setInterval 的行为更像 setTimeout ......我错过了什么?谢谢...
哦,这是生成的 HTML:
<!DOCTYPE html>
<html>
<head>
<title>Current Development Board</title>
<link rel="stylesheet" href="/stylesheets/style.css">
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div class="bodyBlock">
<h1>Current Development Board</h1>
<div id="data"></div>
</div>
</body>
<script type="text/javascript">$(document).ready(function(){
setInterval ($("#data").load("/currentdev"), 5000 );
});</script>
</html>
【问题讨论】:
标签: javascript node.js express pug