我一直在试验 d3.js,例如在力导向图上有以下示例代码:
d3.json("file.json", function (error, graph) {
force
.nodes(graph.nodes)
.links(graph.links)
.start();
我正在使用 asp.net MVC,所以我尝试使用 ActionResult 创建 json 文件,例如:
[HttpGet]
public ActionResult visualizationdata()
{
FileInfo file= new FileInfo(Path.Combine( HostingEnvironment.ApplicationPhysicalPath , @"Content\visualizationdata.json"));
return File(file.Open(FileMode.Open, FileAccess.Read), "application/json", "visualizationdata.json");
}
在我的 cshtml 中,以 d3 为例,我有:
d3.json("@Url.Action("visualizationdata")" //the rest of the example code in d3.js
json文件内容是这样的:
{
"nodes":[
{"name":"1","group":1},
{"name":"2","group":1},
//just json format (but no variable receiving it)
使用作为“/controller/visualizationdata”的获取请求,文件被渲染得很好
解决方案:由stackoverflow的伙伴提供
只需将版本从 2 更改为 3:http ://d3js.org/d3.v3.min.js