gpt4 book ai didi

javascript - HTML/Javascript : how to access JSON data loaded in a script tag with src set

转载 作者:IT老高 更新时间:2023-10-28 12:43:00 27 4
gpt4 key购买 nike

我有我在服务器中生成的这个 JSON 文件,我希望在客户端可以访问该页面,因为该页面是可见的。基本上我想要实现的是:

我的 html 文档中声明了以下标签:

<script id="test" type="application/json" src="http://myresources/stuf.json">

源中引用的文件包含 JSON 数据。正如我所见,数据已被下载,就像脚本一样。

现在,我如何在 Javascript 中访问它?我尝试使用多种方法尝试获取我的 JSON 数据,但不知何故这不起作用。如果 json 数据被内嵌在脚本中,那么获取它的 innerHTML 就可以了。它不是,也不是我想要达到的目标。

页面加载后的远程 JSON 请求也不是一个选项,以防您想建议。

最佳答案

抱歉,您不能这样加载 JSON。

我知道你在想“为什么我不能在这里使用 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>

...简单地说,这只是脚本标签被“滥用”为数据持有者。您可以使用各种数据来做到这一点。例如,a lot of templating engines leverage script tags to hold templates .

您有一个从远程文件加载 JSON 的选项的简短列表:

  1. 使用 $.get('your.json')或其他一些这样的 AJAX 方法。
  2. 编写一个文件,为你的 json 设置一个全局变量。 (看起来很虚伪)。
  3. 将其拉入一个不可见的 iframe,然后在加载后抓取其中的内容(我称之为“1997 模式”)
  4. 咨询巫毒教牧师。

最后一点:

Remote JSON Request after page loads is also not an option, in case you want to suggest that.

...这没有意义。 AJAX 请求与处理您的 <script src=""> 时浏览器发送的请求之间的区别基本上什么都不是。他们都会对资源进行 GET 操作。 HTTP 不在乎它是否因为脚本标签或 AJAX 调用而完成,您的服务器也不会。

关于javascript - HTML/Javascript : how to access JSON data loaded in a script tag with src set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com