我正在使用 d3.json() 请求一个 json 对象并解析/可视化它......
它是从 java servlet doGet 函数请求的……我知道我的 java 服务器已成功将 json 发送到浏览器。但是,我在尝试解析 json 时遇到了问题。d3.json 应该做一个 http get 请求,但由于某种原因,它返回一个 XML 请求错误:
XMLHttpRequest 无法加载“http://localhost:8080/cluster”。Access-Control-Allow-Origin 不允许 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 获取,但它返回 XMLHTTPrequest 错误...