2014-06-19 47 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