在Javascript中从脚本中读取JSON

时间:2014-05-30 06:55:36

标签: javascript json

我试图在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
问题是,由于回调参数,我可以在函数内部读取一次内容,但我需要在另一个函数中再次读取它。

我该怎么做?
提前致谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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