Javascript 如何在AngularJS中使用D3加载节点服务器的tsv文件
我已经使用AngularJS、D3.js和node.js练习了数据可视化 我的应用程序结构如下Javascript 如何在AngularJS中使用D3加载节点服务器的tsv文件,javascript,angularjs,node.js,d3.js,Javascript,Angularjs,Node.js,D3.js,我已经使用AngularJS、D3.js和node.js练习了数据可视化 我的应用程序结构如下 Application/ client/ app/ app.js index.html dashboard/ dashboard.html dashboard.js dashboard.controller.js dashboard.service.js main/ serv
Application/
client/
app/
app.js
index.html
dashboard/
dashboard.html
dashboard.js
dashboard.controller.js
dashboard.service.js
main/
server/
server.js
api/
data/
data.tsv
我想使用仪表板控制器加载服务器的数据.tsv
。但是,它只显示了404未找到
dashboard.controller.js
(function() {
'use strict';
angular
.module('Dashboard')
.controller('DashboardCtrl', DashboardCtrl);
function DashboardCtrl($scope, d3) {
d3.tsv("/data/data.tsv", function(data) {
console.log(data[0])
});
}
})();
sever.js
app.post('/data', function(req, res) {
fs.readFile('./data/result.tsv', 'utf8', function(err, data) {
if(err) {
return console.log(err);
}else {
res.write(data);
console.log('written!');
}
});
});
那么,如何在服务器中加载tsv文件?请尝试此操作
readFile(“data/result.tsv”,“utf8”,函数(错误,数据){
data=d3.tsv.parse(数据);
log(JSON.stringify(data));
});
也许应该是app.get
而不是app.post
。AFAIKd3。tsv
将发送GET请求。如果我错了,请纠正我请求方法似乎没有错误。也许您可以尝试这一行:app.use('/data',express.static(uu dirname+'/data'))
fs.readFile("data/result.tsv", "utf8", function(error, data) {
data = d3.tsv.parse(data);
console.log(JSON.stringify(data));
});