2014-06-19 26 views
0

我有node.js的明确的应用程序,,Node.js的快递:从EJS Ajax调用app.js获取数据呈现的div动态

1)app.get('/', routes.index)点我index.ejs。

2)我的index.ejs上有一个按钮。当它被点击时,我想调用app.js中的dataGrab函数来远程检索数据并动态显示在index.ejs中作为<table>

在我app.js

var data=[]; 
grab = function() { 
    .... grab data remotely and push to data[] 
} 

随着按钮居然坐在客户端,如果我想调用app.js抢()来填充数据[],并用它来呈现关于index.ejs的表,是使用ajax的唯一方法吗?如果是的话,你能分享一个简单的代码示例吗?

问候 锤

+2

是的,AJAX是唯一的方式(不刷新) - 只需通过JS – tymeJV

+0

打电话给你的路线,这里仍然有一个问题,在我做这个AJAX调用后,浏览器将导航到localhost:3000/grab 。如果我点击btn到localhost:3000。结果正确地附加到表格元素。我可以知道如何阻止这种意想不到的导航吗? – Hammer

回答

0

感谢tymeJV,它发出了我使用下面的代码,

*编辑添加AJAX调用

我EJS里面我使用

<script> 
$.get('/grab',function(data) { 
     for(var h=0; h<data.length;h++){ 
    $('#newsItemTable').append('<tr><td>'+data[h].name+'</td></tr>'); 
     } 
    }); 
</script> 

虽然在我的app.js我使用

app.get('/grab', function(req, res) { 

.... 
res.send(data); 

} 
+0

这里还有一个问题,我做了这个Ajax调用后,浏览器将导航到localhost:3000/grab。如果我点击btn到localhost:3000。结果正确地附加到表格元素。我可以知道如何阻止这种意想不到的导航吗? – Hammer