DOM がロードされた後に、より多くの情報をロードするために Web サーバーに対して起動される一連の AJAX 呼び出しがあります (呼び出しを $.ready 関数でラップします)。ただし、まだブロックされているようです。コードで async オプションを設定しませんでした。ここで何か間違ったことをしていますか?以下は私のコードです:
$(document).ready(function() {
var places = #{@results.to_json};
Places.SERP.initialize(places);
});
Places.SERP.initialize(places) が定義されている私のserp.jsでは:
initialize = function(places) {
initMap(places);
initDeals(places);
initFriends(places);
};
3 つの init* 呼び出しでは、サーバーからより多くの情報を取得するための多数の $.ajax 呼び出しがあります。コードは次のようになります。
$.ajax({
type: "GET",
timeout: 1000,
url: url,
dataType: "json",
success: function(retval) {
if (retval) {
var data = retval.data;
if (data) {
var stats = data.stats,
friends = data.friends;
if (stats) {
$("#places-" + internalId).find(".checkins-wrapper").
hide().
append(template({
checkinCount: stats.checkinsCount
})).
fadeIn();
}
}
}
},
error: function(jqXHR, status, errorThrown) {
}
});