Pergunta

Eu estou tentando carregar dados de um arquivo .js externo, contendo uma representação JSON de um bando de dados. Eu não posso para a vida de me descobrir como acessar os dados dentro da página. Tenho certeza que isso é muito fácil e eu estou faltando algo simples! agora, eu estou tentando isso:

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

... que é, obviamente, muito errado, uma vez que nada acontece. Eu tentei carregá-lo em uma tag <script>, mas Firebug diz-me que nem sequer carregar. como eu poderia estragar isso? de qualquer maneira, eu estou pronto para puxar meu cabelo, e eu acho que isso vai levar alguém sobre 15 segundos para descobrir.

Foi útil?

Solução

esse arquivo de dados não tem entrada company_url. Além disso, o arquivo .js é servido com text/javascript mime-type, quando deve ser servido com application/json (ou application/x-javascript, corrija-me sobre isso).

A verdadeira razão , é claro, é que você precisa adicionar ?callback=? para o seu url. Então tudo está indo para o trabalho. Então, ele vai ficar assim:

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

Outras dicas

Eu olhei para os dados JSON. Parece que não há nenhuma company_url. Você pode querer homepage_url

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

parece ok à primeira vista. Tem a certeza que a resposta é JSON válido? É o tipo de conteúdo incorreto, talvez? É a URL de origem no exata mesmo domínio que sua página? (Incluindo protocolo e porta série)

edit:

Eu carreguei o JSON, e não há nenhuma propriedade "company_url".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top