2

私は d3.json() を使用してjsonオブジェクトをリクエストし、それを解析/視覚化しています...

JavaサーブレットのdoGet関数からリクエストされています...私のJavaサーバーがjsonをブラウザに送信することに成功したという事実を知っています。ただし、json を解析しようとすると問題が発生します。d3.json は http get 要求を実行するはずですが、何らかの理由で XML 要求エラーを返しています。

XMLHttpRequest は「http://localhost:8080/cluster」を読み込めません。Origin null は、Access-Control-Allow-Origin では許可されていません。

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 エラーを返すため、主に混乱しています...

4

1 に答える 1

0

ファイル プロトコル (file:///) を使用して HTML ファイルをロードしている場合、この問題が発生します。localhost も使用して html ファイルをロードしてみてください。これで問題が解決するはずです。

于 2017-07-05T04:33:50.513 に答える