Pergunta

Eu não tenho certeza é possível agora com a url eu estou tentando. Consulte este url: http://www.heiaheia.com/voimakaksikko/stats.json

Ele sempre tem a mesma função de preenchimento "voimakaksikkoStats". É bem formado JSON, mas eu não tenho sido capaz de carregá-lo através de um servidor remoto. Será que ela precisa de algum trabalho do lado do servidor ou pode ser carregado com javascript? Eu acho que os problemas tem que ter algo a ver com essa função de retorno de chamada ...

JQuery não é exigência, mas seria bom.

Este (callback = voimakaksikkoStats) retorna nada (firebug -> net -> resposta), e alerta não dispara:

$.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=voimakaksikkoStats", function(data){
    alert(data);
})

mas isso (callback =?):

 $.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=?", function(data){
    alert(data);
})

retornos:

voimakaksikkoStats({"Top5Sports":[],"Top5Tests":{"8":"No-exercise ennuste","1":"Painoindeksi","2":"Vy\u00f6t\u00e4r\u00f6n ymp\u00e4rys","10":"Cooperin testi","4":"Etunojapunnerrus"},"Top5CitiesByTests":[],"Top5CitiesByExercises":[],"ExercisesLogged":0,"Top5CitiesByUsers":[""],"TestsTaken":22,"RegisteredUsers":1});

Mas eu não posso acessá-lo ... Em ambos os exemplos, o alerta nunca dispara. Alguém pode me ajudar?

Foi útil?

Solução 5

<script type="text/javascript">
function voimakaksikkoStats(obj) {
    alert(obj.TestsTaken);
}
</script>
<script type="text/javascript" src="http://www.heiaheia.com/voimakaksikko/stats.json"></script>

Eu nunca tenho que trabalhar com jQuery, mas o código simples acima resolvido meus problemas. Eu encontrei a ajuda de Yahoo: http://developer.yahoo.com/common/json.html

Outras dicas

<script type="text/javascript">
function voimakaksikkoStats(stats) {
  var ul = new Element('ul');
  ul.insert(new Element('li').update('Registered users: '+ stats['RegisteredUsers']));
  ul.insert(new Element('li').update('Tests taken: '+ stats['TestsTaken']));
  ul.insert(new Element('li').update('Top5 sports: '+ stats['Top5Sports'].join(', ')));
  $(document.body).insert({'bottom': ul});
}
</script>
<script type="text/javascript" src="http:/www.heiaheia.com/voimakaksikko/stats.json"></script>

Este exemplo usa Prototype.js para criar lista com alguns dados a partir de dados de estatísticas, e em seguida, coloca esta lista na parte inferior do corpo do documento.

Para obter a sua função de teste para o trabalho, tente alterar para callback=?

é o script tentar buscar json de http://www.heiaheia.com também em http://www.heiaheia.com ?

Se não esta é a causa, atualmente não é autorizada a pedido make (usando javascript) para outro servidor do que aquele que serve o script

Se o seu pedido vai para anonther tentativa de domínio usando jsonp método. Procurar docs jsonp

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