Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中使用D3加载节点服务器的tsv文件_Javascript_Angularjs_Node.js_D3.js - Fatal编程技术网

Javascript 如何在AngularJS中使用D3加载节点服务器的tsv文件

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

我已经使用AngularJS、D3.js和node.js练习了数据可视化

我的应用程序结构如下

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
。AFAIK
d3。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)); });