0

我正在尝试将位于外部的 csv 数据加载到脚本中,但我认为由于浏览器同源策略而失败。我发现了一些有关使用跨文档消息传递解决此问题的相关讨论,但老实说,我不知道如何实现这一点。感谢有关此或其他解决方法的建议。下面的脚本应该将每个数据行打印到浏览器控制台,但失败了。

<html>
<head>
    <meta charset='utf-8'>
    <script type="text/javascript" src="scripts/d3.v2.js"></script>
    <title>CSV reader</title>
</head>
<body>
    <script type="text/javascript"> 
        d3.csv("http://www.quake.utah.edu/EQCENTER/LISTINGS/OTHER/Yell_Q32012TT.csv", 
        function(parseCoords) {
          parseCoords.forEach(function(d) {
            console.log(d);
          });
        });
    </script>
</body>
</html>
4

3 回答 3

1

如果您正在个人计算机上的代码编辑器中编写 HTML 和 Javascript,并在浏览器中测试输出,您可能会收到有关跨域请求的错误消息。您的浏览器将在您的浏览器中呈现 HTML 并运行 Javascript、jQuery、angularJs,而无需设置服务器。但是许多 Web 浏览器被编程为监视跨站点攻击,并会阻止请求。您不希望任何人都能从您的网络浏览器读取您的硬盘。您可以使用运行 Javascript 的 Notepad++ 以及 jQuery 和 angularJs 等框架创建功能齐全的网页;只需使用 Notepad++ 菜单项 RUN、LAUNCH IN FIREFOX 即可测试所有内容。这是开始创建网页的一种很好、简单的方法,但是当你开始创建除了布局之外的任何东西时,

于 2016-02-08T12:07:15.387 回答
0

我已经看到链接到下拉框公用文件夹区域中的文件的类似问题。(特别是https://dl.dropbox.com/u/101577503/D3-Tips-and-Tricks-Latest.pdf)。第一次点击网页上的链接时,pdf下载失败,然后刷新就可以了。我不知道为什么会这样,但是当我在 Chrome 中测试您的“http://dl.dropbox.com/u/46043231/data/xy.csv”时,我得到了相同的结果。是否也有可能即使它第一次起作用,您也会受到跨域限制的阻碍?

于 2013-01-02T17:49:32.420 回答
0

问题被放弃,因为它似乎无法回答。如果我以后找到解决方案,将更新。

于 2013-01-07T16:23:22.533 回答