【发布时间】:2015-02-11 22:42:22
【问题描述】:
我有一个使用 d3 生成带有城市的地球仪的 rails 应用程序。目前,城市的数据位于名为 places.json 的静态 json 文件中。然后,places.json 文件将通过这个 sn-p 呈现给 assets/javascripts 中的其余 d3 代码
queue()
.defer(d3.json, "/assets/world-110m.json")
.defer(d3.json, "/assets/places.json")
.await(ready);
我想用渲染动态 json 的控制器替换“/assets/places.json”文件。我目前正在运行控制器,并且我有一个发布请求,可以将 json 获取到下面的 javascripts 文件中。
$.post( "/teams/to_geo_json", function( data ) {
alert( JSON.stringify(data) );
});
其中/teams/to_geo_json 是控制器的路径。但是,当我将控制器路径放入 .defer(d3.json, "/assets/places.json") 时,它不起作用,我不知道如何让 $.post("/teams/to_geo_json")... 调用与其余 d3.js 代码一起工作。
【问题讨论】:
-
定义“不起作用”。控制台有错误吗?如果你这样做
queue().defer(d3.json, "/teams/to_geo_json").await(ready); function ready(error, places) { console.log(error); },有什么错误吗? -
哇,你刚刚帮我解决了我的问题!
标签: javascript ajax json ruby-on-rails-4 d3.js