Tôi đang sử dụng $ .ajax() để điền danh sách trong ứng dụng web di động của mình. Những gì tôi muốn làm là có trình tải xuống di động jQuery xuất hiện trong khi cuộc gọi này đang được thực hiện và biến mất khi danh sách được điền. Phiên bản hiện tại của JQM sử dụng $.mobile.showPageLoadingMsg()
và $.mobile.hidePageLoadingMsg()
để hiển thị và ẩn trình xoay tải, tương ứng. Tôi không thể tìm ra nơi chính xác để đặt các báo cáo này để có được kết quả chính xác. Điều này có vẻ như nó phải là một điều khá dễ dàng để thực hiện, tôi chỉ không thể tìm thấy bất cứ điều gì về kịch bản chính xác này.Hiển thị trang Đang tải Spinner trên cuộc gọi Ajax trong jQuery Mobile
Dưới đây là cuộc gọi ajax bên trong hàm pagecreate:
$('#main').live('pagecreate', function(event) {
$.ajax({
url: //url
dataType: 'json',
headers: //headers
success: function(data) {
for(i = 0; i < data.length; i++) {
$('#courses').append('<li>' + data[i].name + '<ul id="course' + data[i].id + '"></ul>' + '<span class="ui-li-count">' + data[i].evaluatedUserIds.length + '</span></li>');
$('#course' + data[i].id).listview();
for(j = 0; j < data[i].evaluatedUserIds.length; j++) {
$('#course' + data[i].id).append('<li><a href="">' + data[i].evaluatedUserIds[j] + '</a></li>');
}
$('#course' + data[i].id).listview('refresh');
}
$('#courses').listview('refresh');
}
});
});
bạn chính xác về việc di chuyển chương trình từ sự kiện khởi tạo, kể từ sau sự kiện này JQM gọi hidePageLoadingMsg kể từ khi tải trang xong (và điều này sẽ ghi đè cuộc gọi của bạn) – talkol