我要执行2次AJAX调用:
JSON应该与模板分开加载,因为用户可以触发某种“刷新”操作。模板无法在第一页加载时加载,因为页面上有选项卡控件,每个选项卡都应“按需”加载。
所以让我们说一些function loadData
被调用。所以我需要做以下事情:
$().load
发送AJAX模板,同时使用$.getJSON
发送AJAX for JSON数据。事实是我们可以将它们一起发送而无需等待加载模板,我是对的吗?所以我想知道这种活动的最佳做法是什么?它有完整的解决方案吗?
提前谢谢。
答案 0 :(得分:0)
是。您可以使用jQuery Deferreds(http://api.jquery.com/category/deferred-object/)来协调所有这些。
JS代码:
var templatePromise = null;
function loadData() {
if (!templatePromise) {
templatePromise = $.get('templateUrl');
}
var dataPromise = $.getJSON('dataUrl');
$.when(templatePromise, dataPromise)
.done(function (template, data) {
// you have both template and data.
})
.fail(function () {
// either the template or the data failed to be fetched properly.
});
}