我有一个网页,当它被加载时,它会发出一个 ajax 请求,以从后端获取一些 JSON [] 格式的数据并将其显示在页面上。该网页是使用 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 对象加载正常然后它进入“完整:函数(数据)”并逐个添加事件。
但是,当我使用正确的 URL 并从后端获取事件时,事件似乎来得太晚了;就像它退出该complete
部分一样。问题是:为什么会发生这种情况?complete
每当回复回来时,我都想加载。我相信这个有错吗?我该如何解决这个问题,以便将事件从后端加载到页面中?
谢谢!