index.js
var outputFilename = 'C:/askhere/public/javascripts/data.json';
fs.writeFile( outputFilename, JSON.stringify(json_obj), "utf8", function(err) {
if(err) {
console.log(err);
} else {
console.log("Jobs Data updated in " + outputFilename + " file.");
}
});
res.render('graph',{uname:req.session.userName,gdata:JSON.stringify(json_obj)});
graph.ejs
<script type="text/javascript" src="/javascripts/graph.js">
</script>
graph.js
/*var data = [{"label":"1990", "value":16},
{"label":"1991", "value":56},
{"label":"1995", "value":16},
]; var data;
d3.json("data.json", function(error, json) {
if (error) {return console.log(error);}
else {data = json; console.log("data updated in graph.js");}
});
现在这段代码从graph.js文件中的服务器获取“数据”更新,但我无法在graph.ejs文件中看到结果
答案 0 :(得分:0)
您可以使用
d3.json('http://domain.com/data.json', function(data) {
// actual logic...
});
从服务器访问作为json的数据。
否则您还可以添加内联脚本:
<script type="text/javascript">
var data = <%=gdata%>;
</script>
附注:您不能拥有带有src属性的内联脚本
<script type="text/javascript" src="/javascripts/graph.js">
var data = <%=gdata%>; // This code will be discarded
</script>
另外,我建议你阅读这个question,这实际上可能是你的根本问题。