我有一个在服务器中生成的JSON文件,由于该页面可见,因此我希望在客户端上对其进行访问。基本上我想实现的是:
我在html文档中声明了以下标签:
<script id="test" type="application/json" src="http://myresources/stuf.json">
源中引用的文件具有JSON数据。如我所见,数据已经下载,就像脚本一样。
现在,如何使用Javascript访问它?我尝试使用多种方法来访问带有和不带有jQuery的脚本标签,以尝试获取我的JSON数据,但是以某种方式无法正常工作。入门它innerHTML会工作了JSON数据被脚本编写的内联。不是,不是我想要达到的目标。
innerHTML
页面加载后的远程JSON请求也不是一种选择,以防您建议这样做。
抱歉,您无法像这样加载JSON。
我知道您在想“为什么我不能src在这里使用?我已经看到过类似的东西……”:
src
<script id="myJson" type="application/json"> { name: 'Foo' } </script> <script type="text/javascript"> $(function() { var x = JSON.parse($('#myJson').html()); alert(x.name); //Foo }); </script>
…简而言之,那就是脚本标签被“滥用”为数据持有人。您可以使用各种数据来做到这一点。例如,许多模板引擎利用脚本标签来保存模板。
您有一个简短的选项列表,可从远程文件加载JSON:
$.get('your.json')
最后一点:
…那没有道理。AJAX请求和浏览器在处理您的请求时所发送的请求之间的区别<scriptsrc="">基本上没有。他们都将对资源进行GET。HTTP不在乎是否由于脚本标记或AJAX调用而完成,您的服务器也不会。
<scriptsrc="">