D3 Json请求获取XmlHttpRequest错误:访问控制允许原点不允许原点为null

D3 Json request getting XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin

本文关键字:原点 不允许 null 许原点 获取 请求 Json XmlHttpRequest 错误 访问控制 D3      更新时间:2024-01-11

我正在使用d3.json()请求一个json对象并解析/可视化它…

它是从一个javaservlet doGet函数请求的。。。我知道我的java服务器成功地将json发送到了浏览器。然而,我在解析json时遇到了一个问题。d3.json应该执行http-get请求,但由于某种原因,它返回了一个XML请求错误:

XMLHttpRequest无法加载"http://localhost:8080/cluster".访问控制允许原点不允许原点为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错误。。。

如果使用文件协议(file:///)加载HTML文件,则会遇到此问题。尝试同时使用localhost加载html文件,这应该可以解决问题。