2015-05-16 30 views
0

我想將我的產品數組傳遞給html頁面。Express.js發送數據查看未發送,出了什麼問題

app.get("/", function(req, res){ 
    res.render(__dirname+ "/product.html",{data: Product_Array_fromDatabase}); 
}) 

在HTML頁面客戶端在嘗試查看/將循環播放

<script type="text/javascript"> 
    var data = JSON.stringify(data); 
    alert(data) // Says Undefined 
</script> 

我沒有得到數據的價值?任何幫助?

+1

你甚至使用任何模板語言,如ejs或玉? –

+0

請在http://jsfiddle.net或http://codepen.io上添加代碼片段! –

+0

@NomanUrRehman是的,它的ejs –

回答

1

JS我所做的EJS來呈現數據,並用jQuery的AJAX將數據發送到頁面,提醒它可能是這一意志對你有用

hello.js

var express = require('express'); 
var app = express(); 

var engine = require('ejs-locals'); 

app.engine('ejs', engine); 
app.set('view engine', 'ejs'); 
app.set('views', __dirname + '/views'); 


app.get('/', function(req, res){ 
res.render('index',{user:"John Smith"}) 
}); 

app.get('/helo', function(req, res){ 
    res.send({'data':'hello'}); 
}); 


var server = app.listen(3000, function() { 

    var host = server.address().address; 
    var port = server.address().port; 

    console.log('Example app listening at http://%s:%s', host, port); 

}); 

index.ejs 目錄名爲意見---路徑應用程序的名字/視圖/ index.ejs

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
     $.get("/helo", function(data, status){ 
      console.log(data); 
      var result = data 
      alert(result['data']) 
     }); 
    }); 
}); 
</script> 
</head> 
<body> 
welcome <%= user%><br> 
<button>Send an HTTP GET request to a page and get the result back</button> 


</body> 
</html> 
+0

謝謝歡迎<%= user%>這就是那裏缺少的...... –

+0

在發射/廣播之後我們是否必須使用相同的方法?即循環使用<%= %> ...我不太熟悉這個標記...我們可以使用jquery/javascript來循環嗎? –

+0

<%= %>用於在HTML頁面中打印變量的標籤....在ejs中。它是用於表達的模板引擎。

<%爲(VAR I = 0; I ​​<%=數據[I] .ID%> ​​<%=數據[I]。名稱%> <% } %>
如果要循環thruogh數據做這樣的這個例子中的table..i希望這將幫助你shows.inserting值 – zabusa