gpt4 book ai didi

d3.js - 在家重现 d3.js 示例的安全问题

转载 作者:行者123 更新时间:2023-12-02 05:19:07 25 4
gpt4 key购买 nike

我正在尝试从 github gist(美国 map )https://gist.github.com/4431123 重现这个例子我将所需的文件“us.json”复制到我的主目录。

此站点上的 already appeared 也有类似的问题。

<!-- language: lang-html -->
<!DOCTYPE html>
<meta charset="utf-8">
<style>

path {
fill: none;
stroke: steelblue;
}

</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v0.min.js"></script>
<script>

var width = 960,
height = 500;

var path = d3.geo.path();

var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("us.json", function(error, us) {
svg.append("path")
.attr("d", topojson.object(us, us.objects.counties).geometries.map(function(d) {
var bounds = path.bounds(d);
return "M" + bounds[0]
+ "H" + bounds[1][0]
+ "V" + bounds[1][3]
+ "H" + bounds[0][0]
+ "Z";
}).join(""));
});

</script>

这是我收到的错误消息:

XMLHttpRequest cannot load file:///C:/Users/work/Documents/d3js/us.json. Cross origin requests are only supported for HTTP.

所以我尝试使用网络。

XMLHttpRequest cannot load https://gist.github.com/raw/4090846/b8c888f35c42400a080ab03c31a7649e0b9bc9a8/us.json. Origin null is not allowed by Access-Control-Allow-Origin.

StackOverflow 上搜索给我这个问题,暗示这是 Chrome 试图拯救我自己。

最佳答案

您遇到了 same origin policy ,它只允许使用相同的协议(protocol)从页面对相同的主机和端口进行 AJAX 调用。要解决这个问题,您可以使用 Python 在您正在使用的目录中运行 Web 服务器:

$ python -m SimpleHTTPServer 8080

您现在可以在 Web 浏览器中通过 http://localhost:8080 访问您的页面,AJAX 调用现在应该可以工作了。

关于d3.js - 在家重现 d3.js 示例的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com