我正在使用d3.json()来请求一个json对象并解析/可视化它......
正在从java servlet doGet函数请求...我知道我的java服务器成功将json发送到浏览器。但是,我遇到了一个试图解析json的问题。 d3.json应该做一个http get请求,但由于某种原因,它返回一个XML请求错误:
XMLHttpRequest无法加载“http:// localhost:8080 / cluster”。 Access-Control-Allow-Origin不允许使用null。
是否有一些我应该了解d3.json的进一步设置,还是应该只是开箱即用?这是我的代码..
d3.json("http://localhost:8080/cluster", function(json) {
//do visualization
var node = vis.data([json]).selectAll("g.node")
.data(pack.nodes)
.enter().append("g")
.attr("class", function(d) {return d.children ? "node" : "leaf node" ;})
.attr("transform", function(d) {return "translate(" + d.x + "," + d.y +")"; });
node.append("title")
.text(function(d) { return d.name + (d.children ? "" : ": " + format(d.size)); });
node.append("circle")
.attr("r", function(d) { return d.r; });
node.filter(function(d) { return !d.children; }).append("text")
.attr("text-anchor", "middle")
.attr("dy", ".3em")
.text(function(d) { return d.name.substring(0, d.r / 3); });
}
我在这里做错了吗?我很困惑,因为d3.json应该默认执行HTTP get,但它返回XMLHTTPrequest错误......
答案 0 :(得分:0)
如果您使用文件协议(file:///)加载HTML文件,那么您将遇到此问题。尝试使用localhost加载html文件,这应解决问题。