【发布时间】:2015-06-21 20:47:12
【问题描述】:
我正在尝试对我的域中的一个页面进行 getJSON 调用,该页面只是一个 json 数组,给定我网页中的脚本,它不会返回任何内容:
<script>
$('#genButton').click(function() {
console.log("click");
$.getJSON("http://mygithub.github.io/repository/quotedb.json", function(data){
console.log("executing");
var entry = data[Math.floor(Math.random()*data.length)];
console.log(entry);
$("#quoteDisplay").text(entry);
}).fail(function() {
console.log( "error" );
});
})
</script>
单击按钮时,控制台会记录“单击”,但不会记录“执行”,也不会记录与 getJSON 相关的任何错误。调试器也不会在 getJSON 函数中暂停。
我的问题是,1.quotedb.json 实际上是一个只有一个 json 数组的网页是否有效?或者页面是否需要以某种方式进行注释,以便 getJSON 请求知道从哪里获取 json? 2. 如果 (1) 没问题,那么您还有什么其他原因可以看出为什么 getJSON 返回函数没有出现任何内容?
json 又是一个 json 对象数组,格式为:
{
"character": ""
"quote": ""
}
编辑
使用编辑后的代码,它现在从 $.getJSON 调用的 .fail() 方法中输出“click”和“error”。
我尝试删除 ?callback?如下所示的 url 部分,这不起作用。
我的网址的/repository/ 部分似乎是访问该文件所必需的。
【问题讨论】:
-
在您的 javascript 控制台的网络选项卡中对请求的响应是什么?
-
处理错误,而不仅仅是成功。答案可能就在那里。
-
@bhspencer,谢谢!!我没有意识到有一个网络选项卡,但这帮助我确定请求没问题,但是 json 格式略有错误并且被读入为一堆格式错误的对象。一旦我修复了 json 数组,这一切都奏效了
标签: javascript jquery json