Webページに2つのセクションがあり、個々のAJAX呼び出しと、それに続くコンテンツをDOMに挿入する前のデータのテンプレート化が必要です。現在、私はこれを行うための最良の方法を検討しており、jQuery Deferredsに関する多くの記事を読んでいますが、その多くが、最良の方法が何であるか完全にはわからないほどです。以下は私が使用すると思うコードですが、いくつかの入力を本当にいただければ幸いです。誰かがそれについていくつかのアドバイスを追加したいのであれば、私はキャッシングについても非常にぼんやりしています。
JS
function ajaxCall1() {
var dfd = $.Deferred();
return $.ajax({
type: 'POST',
dataType: 'json',
url: '/url1',
data: { },
success: function(data) {
// Run templating code
}
});
return dfd.promise();
}
function ajaxCall2() {
var dfd = $.Deferred();
return $.ajax({
type: 'POST',
dataType: 'json',
url: '/url2',
data: { },
success: function(response) {
// Run templating code
}
});
return dfd.promise();
}
$.when( ajaxCall1(), ajaxCall2() )
.then(function(){
// Display DOM elements
})
.fail(function(){
// Display error message
});