2015-05-16 31 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