如何从网页上的脚本加载外部JSON?

时间:2009-07-14 16:34:44

标签: javascript jquery json

我正在尝试从外部.js文件加载数据,其中包含一堆数据的json表示。我不能为我的生活弄清楚如何访问页面内的数据。我确信这很简单,我错过了一些简单的东西!现在,我正在尝试这个:

  $(document).ready(function(){
    $.getJSON("http://api.crunchbase.com/v/1/company/xobni.js",
        function(data){
            alert(data.company_url);
        });
  });

......这显然是非常错误的,因为没有任何反应。我试过在<script>标签中加载它,但是firebug告诉我它甚至没有加载。我怎么能搞砸了?无论如何,我准备好把头发拉出来,我想这将需要其他人大约15秒来弄明白。

3 个答案:

答案 0 :(得分:13)

该数据文件没有company_url条目。此外,.js文件与text/javascript mime-type一起提供,当它应与application/json(或application/x-javascript一起提供时,请更正我。)

真正的原因,当然,您需要将?callback=?添加到您的网址。然后一切都会起作用。所以,它看起来像这样:

$(document).ready(function(){
    $.getJSON("http://api.crunchbase.com/v/1/company/xobni.js?callback=?",
        function(data){
            alert(data.homepage_url);
        });
  });

答案 1 :(得分:3)

我查看了json数据。看起来好像没有company_url。你可能想要homepage_url

$(document).ready(function(){
   $.getJSON("http://api.crunchbase.com/v/1/company/xobni.js",
      function(data){
             alert(data.homepage_url);
         });
   });

答案 2 :(得分:1)

乍一看似乎没问题。您确定响应是有效的JSON吗?可能是内容类型不正确吗? 完全上的源网址是否与您的网页相同? (包括协议和端口号)

编辑:

我加载了你的JSON,并且没有“company_url”属性。