使用javascript从localhost读取json文件

时间:2013-03-29 12:12:58

标签: javascript json localhost

我是javascript的新手,所以我需要一些帮助! 我需要从我的localhost读取一个“.json”文件,但它不起作用!

该文件的内容如下:

[
 {"source":"tw1", 
  "text":"fubar"}, 

 {"source":"tw2", 
  "text":"foo"}
]

我使用以下命令设置localhost: python -m http.server 8888& ,在此处发布D3.js

我写了以下javascript代码:

<script type="text/javascript" src="lib/jquery-1.9.1.js"></script>
   <script>
    $(document).ready(
        $.getJSON("http://localhost/test.json", function(data){
            document.write(data);

    });
    </script>  

2 个答案:

答案 0 :(得分:3)

如果您在端口8888上打开服务器,则必须在该端口上请求它:

$.getJSON("http://localhost:8888/test.json", function(data){

但请注意,如果您希望能够通过correct CORS headers,服务器必须设置cross domain restrictions

第三个问题是您的代码无法编译:您错过了});。压痕不对称使其显而易见:

$(document).ready(
    $.getJSON("http://localhost:8888/test.json", function(data){
        document.write(data);
    }); // <=== was missing
});

第四个问题是,一旦页面加载,你就不会使用document.write。您必须使用DOM操作方法编写,例如$(document.body).append($('<pre>'+data+'</pre>'));

答案 1 :(得分:1)

我认为问题在于您正在尝试访问计算机中的json文件,将您的json文件上传到在线服务器并访问该文件,而不是您计算机上的那个。