如何在Phonegap中进行AJAX调用时添加加载屏幕
How to add a loading screen when doing a AJAX call in Phonegap?
Title几乎说明了这一点。如何在AJAX运行时添加加载屏幕,并在AJAX完成运行后使加载屏幕消失?
我的AJAX函数:
$("#loginBtn").on("click", function(e){
e.preventDefault();
var loginForm = document.getElementById("loginForm");
var login_data = $('#loginForm').serialize();
$.ajax({
type: "POST",
url: serverURL + "loginProcess.php",
data: login_data,
dataType:"json",
success: function(data){
localStorage.setItem('id', JSON.stringify(data));
},
error: function(jqXHR, textStatus, errorThrown) {
navigator.notification.alert('Invalid Email or Password!',null,'Error', 'Done');
}
});
});
注意:我没有使用jQuery Mobile。
要在每个ajax调用上全局显示加载页面,可以使用以下代码:
$( document ).ajaxStart(function() {
$( "#loading" ).show();
});
并在ajax调用停止时将其隐藏
$( document ).ajaxStop(function() {
$( "#loading" ).hide();
});
您需要一个带有id加载的全屏div,以及一个加载图像gif或类似的东西
不要忘记使用async:true
和$.mobile.loading("show");
来显示
jQuery.ajax({
url: serverURL + "loginProcess.php",
global: true,
type: "POST",
data: login_data,
dataType:"json",
async: true,
timeout: 40000,
beforeSend: function() {
$.mobile.loading("show");
},
complete: function(){
$.mobile.loading("hide");
},
success: loading_complete_list,
});
您可以使用jQuery BlockUI插件
你的代码是
var blockUI = function(){
$.blockUI({
fadeIn: 1000,
timeout: 0,
message:'<h1>Loading...</h1>',
//css: { border: '5px solid red'},
onBlock: function() {
$("#tab3").addClass("myClass");
}
});
}
$("#loginBtn").on("click", function(e){
e.preventDefault();
var loginForm = document.getElementById("loginForm");
var login_data = $('#loginForm').serialize();
$.ajax({
type: "POST",
url: serverURL + "loginProcess.php",
data: login_data,
dataType:"json",
beforeSend:function(){
blockUI(); //Call block function
},
success: function(data){
localStorage.setItem('id', JSON.stringify(data));
},
error: function(jqXHR, textStatus, errorThrown) {
navigator.notification.alert('Invalid Email or Password!',null,'Error', 'Done');
}
});
相关文章:
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 如何在所有ajax调用中向URL添加参数
- 向jQueryajax调用添加参数,最好添加到URL或对象中
- 如何更新列表项由jQuery AJAX调用添加的ASP Dropdown:错误无效的回发或回调
- 向每个函数调用添加代码的任意方法
- 通过AJAX调用添加新信息-通过json或html获取回调
- 如何为我的所有BackboneJS模型/集合REST调用添加一个基本URL
- 我如何从我的GreaseMonkey脚本调用添加到jQuery对象的函数
- 向AJAX调用添加标题的目的是什么?
- 向web服务调用添加自定义头,并在web服务方法中读取它
- 您可以为AJAX调用添加优先级吗?
- 是否存在将日志调用添加到Protractor中的控制流的日志函数
- 为使用jQuery进行的所有ajax调用添加一个通用参数
- 向外部提要调用添加回调时出现“未捕获的SyntaxError: Unexpected token <”
- 调用添加到函数原型中的函数
- 在页面加载后为函数调用添加js函数变量
- 为使用Azure Active Directory身份验证保护的Web API的AJAX调用添加身份验证令牌
- 向JavaScript事件调用添加变量
- 向Jquery ajax调用添加一个参数
- 在引用通过JavaScript调用添加的新JS文件后调用JavaScript函数