未使用Javascript访问JSON文件
JSON file not being accessed using Javascript
可能重复:
从localhost或文件访问JSON服务://
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
$.getJSON('http://game4u.comuf.com/songs.json', function(data) {
var output = data.music[0].url;
document.getElementById("placeholder").innerHTML = output;
});
</script>
但是当我运行此程序时,我的JSON文件(music[0].url(不会显示在浏览器中。我在本地运行HTML,而不是在和网站相同的服务器上。
我在本地运行HTML,而不是在和网站相同的服务器上。
这就是问题所在。getJSON
是一个"ajax"调用,这些调用受到同源策略的限制。您的本地文件系统与http://game4u.comuf.com/songs.json
不是同一来源(尽管有些浏览器将本地文件系统视为与任何来源匹配;大多数浏览器则不然(。
如果在http://game4u.comuf.com/songs.json
中控制内容,则可以使用JSON-p而不是JSON。JSON-P围绕SOP开展工作。另一种选择是跨来源资源共享,它还要求服务器端做一些事情(在这种情况下,授予对origin"null"的访问权限(,还要求您使用支持它的浏览器(所有现代浏览器都这样做,IE9只有在您处理它需要使用XDR而不是XHR对象的事实时才这样做;这是jQuery不能为您做的事情,尽管有插件可以这样做(。
另外,正如Musa所指出的,您的JSON是无效的。如果您更正了URL中的反斜杠(它们应该是斜杠[/
],而不是反斜杠['
](,并且删除了列表末尾的尾部,
(这在JSON中是无效的(,则该选项将有效。
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 不显示带有本地json文件数据的谷歌地图脚本
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 加载两个具有相同父密钥名称的json文件
- 使用JSON文件中的变量(字符串)填充文本区域
- 动态显示JSON文件内容
- 将JSON转换为放入Sdcard中的CSV文件
- 正在尝试将JSON文件放入JS数组
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 单击按钮更改加载到表中的JSON文件
- 创建一个包含两个文件 json 的 Angularjs 过滤器
- Multer上传文件+JSON对象
- 使用node.js读取和写入文件(JSON)
- 如何在angularjs中设置变量's值来上传文件json数据
- 向现有文件. Json写入Json,没有“语法错误”
- 如何保存更新json(文件json)与jquery或javascript
- AngularJS:当使用$http请求一个文件(json content)时发生SyntaxError
- 如何简化此代码?将文件json转换为数组json
- 如何从外部文件JSON创建JAVASCRIPT数组