我不确定现在可以从我正在尝试的网址中找到它。请参阅此网址:http://www.heiaheia.com/voimakaksikko/stats.json
它总是提供相同的填充功能“voimakaksikkoStats”。它是格式良好的JSON,但我无法从远程服务器加载它。是否需要从服务器端进行一些工作或者是否可以使用javascript加载?我认为问题必须与回调函数有关...
JQuery不是必需的,但它会很好。
这个(callback = voimakaksikkoStats)没有返回任何内容(firebug - > net - >响应),并且警报不会触发:
$.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=voimakaksikkoStats", function(data){
alert(data);
})
但是这个(回调=?):
$.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=?", function(data){
alert(data);
})
返回:
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});
但我无法访问它...在这两个示例中,警报永远不会触发。有人可以帮忙吗?
答案 0 :(得分:1)
<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>
此示例使用Prototype.js创建包含来自给定统计数据的一些数据的列表,然后将此列表放在文档正文的底部。
答案 1 :(得分:0)
脚本是否也试图从http://www.heiaheia.com上的http://www.heiaheia.com获取json?
如果不是这个原因,它目前没有被授权(使用javascript)向服务于脚本的服务器发出请求
答案 2 :(得分:0)
要让测试功能正常工作,请尝试更改为callback=?
答案 3 :(得分:0)
如果您的请求转到其他域,请尝试使用 jsonP 方法。搜索jsonP文档
答案 4 :(得分:0)
<script type="text/javascript">
function voimakaksikkoStats(obj) {
alert(obj.TestsTaken);
}
</script>
<script type="text/javascript" src="http://www.heiaheia.com/voimakaksikko/stats.json"></script>
我从来没有使用过jQuery,但上面的简单代码解决了我的问题。我找到了雅虎的帮助:http://developer.yahoo.com/common/json.html