我正在使用 pagecreate 初始化事件来调用一个函数,该函数通过 AJAX 调用来填充列表。
我遇到的问题是这个事件永远不会完成。页面加载消息仍然存在。
我在这里和 Jquery 论坛上搜索过,没有任何运气。
我的代码如下所示:
$( "#events" ).live( 'pagecreate', function(event) {
// Executed once the page is loaded
var fromDate = new Date(),
toDate = new Date(fromDate.getFullYear(), fromDate.getMonth() + 3, fromDate.getDate());
update(fromDate, toDate);
//alert('done');
});
function update(from, to) {
var eventList = $('ul#event-list');
$.ajax({
url: 'events.php',
dataType: 'json',
data: {from: from, to: to},
success: function(data) {
showEvents(data, from, to, eventList); // Create list items and append to eventList
$('.value h2').formatCurrency({ negativeFormat: "-%s%n" }); // Format currency correctly using jQuery plugin
}
});
}
我收到“a.Deferred 不是函数”错误,这表明它与 AJAX 调用的完成有关,但我已经检查过,并且 showEvents 函数正在正确创建列表项,所以它是不挂。
读完后,我尝试了替代初始化事件:pageinit,甚至changePage,但均未成功。
谢谢你的帮助。
ps 如果有帮助,请取消注释 alert() 获取更新的列表以正确重新格式化,而不解决问题。我想我会提到它,因为我显然不明白发生了什么。