我正在尝试创建一个jquery登录系统,但是当我提交表单时,动画gif会出现,但没有别的。
以下是代码:
$(function(){
// Quand le formulaire est envoyé
$('#submit').click(function () {
// Fade out
var html = '<div id="head">Connexion en cours...</div>'+
'<div style="width:100%; text-align: center; margin-top:80px;"><span id="status">Prise de contact avec le serveur</span><span id="img"><br><img src="../img/loaders/bar_blue.gif"></span></div>';
replaceandfade('#center',html, 10);
$('#user').attr("disabled", true);
$('#pswd').attr("disabled", true);
var user = $('#user').val();
var pswd = $('#pswd').val();
// On envoie les infos de connexion
$.ajax({
type: "POST",
url: "ajax_login.php",
data: "user=bob&pswd=bob",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
$("#status").html("En attente de la réponse");
alert(data);
if(data.login == "failed"){
$("#img").html('');
$("#status").html("Le nom d'utilisateur ou le mot de passe saisie est invalide");
} else if(data.login == "success"){
$("#status").html("Connexion aprouvé, un instant...");
} else {
$("#status").html("Une erreur est survenu.");
};
}
});
});// END OF #submit.click
}) // END OF onload
ajax_login.php页面返回:{"login":"failed"}
但是现在它没有做任何事情。
replaceandfade
功能
function replaceandfade(div, content, sec) {
setTimeout(function() {
$(div).fadeOut("fast", function() {
$(div).html(content);
$(div).fadeIn("fast", function() {});
});
}, sec)
}
答案 0 :(得分:3)
您的请求无法处理错误结果,因此如果请求失败(例如无法找到服务器,或者更有可能是响应是500服务器错误),则不会发生任何事情。
您可以使用error
函数添加错误处理程序,例如:
$.ajax({
// Other parameters
success: function(data) {
alert(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Request failed");
}
});
或者(或另外),您可以使用complete
函数来指定在请求结束时应该发生的操作,无论是成功还是失败结果。
有关详细信息,请参阅documentation。