【发布时间】:2013-11-01 05:24:47
【问题描述】:
我正在尝试加载外部 json 文件并将其与 d3.js 一起使用,但它似乎没有加载(我在浏览器中看不到 us-states.json 文件)该文件并且我找不到任何相关错误。这是我的代码:-
我收到此错误:- ActionController::RoutingError (No route matches [GET] "/us-states.json"):
$(document).ready(function() {
//Width and height
var w = 500;
var h = 300;
//Define map projection
var projection = d3.geo.albersUsa()
.translate([w/2, h/2])
.scale([500]);
//Define path generator
var path = d3.geo.path()
.projection(projection);
//Create SVG element
var svg = d3.select("#testing")
.append("svg")
.attr("width", w)
.attr("height", h);
//Load in GeoJSON data
// json = JSON.parse( "us-states.json" );
// var json = {"my": "json"};
d3.json("us-states.json", function(error, json) {
if (error) return console.warn(error);
//Bind data and create one path per GeoJSON feature
svg.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path)
.style("fill", "steelblue");
});
});
文件 us-state.json 位于我的 javascript 文件所在的同一文件夹中。
更新
javascript 控制台中的错误是这样的:-
Failed to load resource: the server responded with a status of 404 (Not Found)
在文件 us-states.json 中
显示文件的附加屏幕截图位于项目文件夹中:-
【问题讨论】:
-
“它似乎没有加载”是什么意思?
-
@LarsKotthoff 我的意思是我在浏览器中看不到 us-states.json 文件
-
这表明它不存在。仔细检查您是否已将其上传到正确的位置。
-
@LarsKotthoff 是的,它在同一个文件夹中我也收到此错误 ActionController::RoutingError (No route matches [GET] "/us-states.json"):
-
您没有告诉我们有关您的网络服务器设置/配置的任何信息。浏览器说它不存在,所以那里一定有问题。在任何情况下,您的问题都不是由 D3 引起的/与 D3 相关的。