我在我的网络应用程序中使用 jQuery 移动。我使用这两个函数来显示和隐藏一个旋转的轮子和给用户的消息:
function showScreenMsg(msg,text_only) {
$.mobile.loading('show',{ text:msg, textVisible:true, theme:'b', textonly:text_only});
}
function hideScreenMsg(){
$.mobile.loading('hide');
}
//AJAX CALL
function show_dtl(element,id){
showScreenMsg('loading',false);
var details;
$.ajax({
async:false,
url:'./shyne/ajax/show_dtl.php',
data: {user_dtl_id:id},
}).done(function(data)
{
if (data){
data = $.parseJSON(data);
details = data;
details = formatDetails(details);
hideScreenMsg();
}
}
);
if(details){return details;}
}
在 Ajax 调用之前,我使用适当的参数调用 showScreenMsg,当 Ajax 成功时,我调用 hideScreenMsg。
例如,我在人员列表中执行此操作,通过单击列表元素,您可以通过 ajax 获取人员详细信息。我的问题是,可能由于 JQM(和设备)速度缓慢,加载消息没有出现,我的意思是,也许我在设备显示消息之前得到了 ajax 答案。然而,从用户点击到显示信息需要 3-5 秒。在此期间,什么都没有发生,这应该是我想要避免的事情。有没有人有解决方案?