我的页面在ajax请求中没有显示gif图像。它是一个注册页面,当点击提交按钮时,它应该显示一个旋转图像,它应该在成功后消失
这是我的ajax代码
$("#register-form").on("submit", function() {
var uname = $('#username').val();
var phone = $('#phone').val();
var mail = $('#email').val();
// $(".loader").show();
$.ajax({
type : "POST",
url : "registerUser",
secureuri : false,
cache : false,
async : false,
data : {
"username" : uname,
"phone" : phone,
"email" : mail
},
success : function(response) {
$(".status").fadeIn("slow");
$(".loader").hide();
$(".status").html(response);
if (response == "Please check your mail to verify account") {
$(".status").css({
"border" : "1px solid green",
"background-color" : "#B2D47F"
});
}
},
error : function() {
alert("error occured");
}
});
return false;
});
这里我绑定了ajaxstart
$(document).ajaxStart(function() {
$(".loader").show();
});
但它没有显示..我的代码有什么问题吗?
答案 0 :(得分:0)
尝试将beforeSend
和complete
处理程序添加到您的ajax调用中,并在其中显示/隐藏加载程序。这也适用于出现错误的情况,因为如果您在success
处理程序中隐藏加载程序并且发生错误,它将在ajax完成后保持可见。
$.ajax({
type : "POST",
url : "registerUser",
secureuri : false,
cache : false,
async : false,
data : {
"username" : uname,
"phone" : phone,
"email" : mail
},
beforeSend : function() {
$(".loader").show();
},
success : function(response) {
...
},
error : function() {
alert("error occured");
},
complete : function() {
$(".loader").hide();
},
});