加载外部JSON文件

当它来自外部文件时,我似乎无法获得JSON。 当我内联写它时,它工作正常。 但是当我创建一个名为test.json的文件并将JSON复制到其中时,我从未获得内容。

这是我的HTML和JavaScript。 我应该注意HTML和JSON文件都在同一个文件夹中。

我究竟做错了什么?

    JSON Sandbox   

JSON Sandbox

var text = $.getJSON({ dataType : "json", url : "test.json", data : data, success : window.alert("JSON Aquired.") }); var obj = JSON.parse(text); document.getElementById("demo").innerHTML = obj.name + "
" + obj.street + "
" + obj.phone;

这是我的test.json文件

 { "name":"John Johnson", "street":"Oslo West 1", "phone":"111 1234567" } 

将文件扩展名更改为js。 并更改html文件如下:

    JSON Sandbox    

JSON Sandbox

您的成功处理程序定义不正确。

更换:

 success : window.alert("JSON Aquired.") 

附:

 success : function(data){ window.alert("JSON Aquired.") // `data` is the returned object: document.getElementById("demo").innerHTML = data.name + "
" + data.street + "
" + data.phone; }

您需要在success处理程序中执行您想要对数据执行的操作,因为$.getJSON是一个AJAX调用,这意味着它是异步的。