我通过 API 从两个不同的 Google 图书书架获取图书信息,并尝试将其放入我的自定义 HTML 中,但并非所有内容都显示出来,这似乎是因为我的函数没有按顺序触发,尽管我把它们按照我想要的顺序排列好,所有东西都在 $ready 里。我需要以某种方式使用回调吗?
这是我的 fiddle :http://jsfiddle.net/bbrLv/
这是控制台的截图,显示了不按顺序触发的步骤:http://min.us/mQ0LNVYYT
最佳答案
$.getJSON()作为 jQuery 的基于 $.ajax
的函数之一,实现了强大的 Promise 接口(interface)。这意味着您实际上可以将这些调用与 $.then() 链接起来。方法,通过这样的东西:
$.getJSON(myquery, function(data) {
...
}).then(function() {
$.getJSON(myquery2, function(data) {
...
}
});
更新:这是一个 updated fiddle 。我必须在那里进行快速破解:pubdateFixer 函数。您已将其放入第二个 getJSON 处理程序中的 $(function(){})
形式,但这并不正确:该函数应该在 getJSON 内容到达之后触发,而不是在初始页面时触发已加载。
关于jquery - 使用 JSON 对 jQuery 函数进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144337/