ロードされたときに ajax リクエストを行い、バックエンドから JSON [] 形式のデータを取得してページに表示する Web ページがあります。Web ページは MVC .NET で生成されます
バックエンドからイベントをロードする関数:
function initEvents() {
$.ajax({
url: '/Work/GetEvents/' + id, type: "GET", dataType: 'json',
success: function (data) {
events = data;
},
error: function(data) {
// Note: hardcoded JSON event in here
events = hardcodedEvents;
},
complete: function(data) {
// Add events
for (var i = 0; i < events.length; i++){
addEvent(events[i]);
}
}
});
}
リクエストが失敗すると (つまり、偽のデータを指すように URL を変更すると) error: function(data)
、ハードコードされた JSON オブジェクトが正常に読み込まれ、'complete: function(data)' に入り、イベントが 1 つずつ追加されます。
ただし、正しい URL を使用してバックエンドからイベントを取得すると、イベントの到着が遅すぎるようです。complete
セクションを出るときと同じように。問題は、なぜこれが起こっているのかということです。complete
返信が返ってくるたびに、ロードされたと思いました。これを信じるのは間違っていますか?イベントがバックエンドからページに読み込まれるようにするにはどうすればよいですか?
ありがとう!