【问题标题】:Reading JSON from script in Javascript [duplicate]从Javascript中的脚本读取JSON [重复]
【发布时间】:2014-07-19 20:52:15
【问题描述】:

我正在尝试用 Javascript 读取 JSON 文件的内容,但我无法让任何方法正常工作。 JSON 包含在脚本标签中:
<script id="data" type="application/json" src="https://example.com/file.js"></script>

该文件仅包含 JSON,但不在我的域中。更具体地说,我正在尝试从 Gravatar Profile API 获取数据。格式如本例所示:http://es.gravatar.com/205e460b479e2e5b48aec07710c08d50.json?callback=test
问题是,由于回调参数,我可以在函数内读取一次内容,但我需要在另一个函数中再次读取。

我应该怎么做?
提前致谢。

【问题讨论】:

  • file.js 只包含 json 数据?
  • 是json文件还是javascript文件?反正你只能在脚本标签afaik中获取js文件,你需要使用AJAX来获取其他任何东西。

标签: javascript json


【解决方案1】:

不包括 JSON。 JSON 不是脚本,当您尝试使用脚本元素加载它时,浏览器不知道该怎么做。脚本元素所做的一切就是坐在 DOM 中。因此:

  1. 通过 id 查找脚本元素
  2. 从中获取 src 属性
  3. 使用 XMLHttpRequest 请求数据

【讨论】:

    【解决方案2】:

    如果您已经创建了文件,请将您的 json 字符串放入一个变量中,以便您可以从其他脚本访问该变量。完成后,您可以使用 jQuery.parseJSON 来检索对象。 http://api.jquery.com/jquery.parsejson/

    如果文件只是您从服务器或任何其他来源获取的 json 内容,而不是通过脚本标签添加它,我建议您发出 AJAX 请求以获取内容。 http://api.jquery.com/jquery.ajax/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 2021-05-16
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 2017-11-21
      相关资源
      最近更新 更多