.fail中的JQuery / $ .ajax / alert,但它成功了

时间:2016-03-15 19:23:36

标签: javascript jquery html ajax servlets

当我在JQuery中使用ajax时,我遇到了一些问题。 让我解释一下:用户输入登录名,密码,姓名,电子邮件......我使用servlet创建用户帐户。

$(function(){
$("#subinsc").click(function(){
    var nom=$("#nom").val();
    var prenom=$("#prenom").val();
    var email=$("#email").val();
    var login=$("#login").val();
    var password1=$("#pass1").val();
    var password2=$("#pass2").val();

//verif_form_inscription just check if login and password are ok.
var ok=verif_form_inscription(login,password1,password2);
if(ok){
    $.ajax({
        type:"get",
        async:false,
        url: "HERE IS THE CREATEACCOUNT SERVLET",
        data: {mail : email,login:login,password:password1,nom:nom,prenom:prenom},
        success:function(res){
            alert("ok");
            $(document).ready(function(){
                $("#popup").show(800);
                $("#insc").replaceWith(jQuery("#popup"));
            }); 
        },
        error:function(res){
            console.log(res);
            alert("fail servlet");
        }

})
};
});})

servlet总是“工作”,用户在屏幕上的数据库但是我有.fail警报,而不是成功警报和#popup div说“欢迎,你的注册”。

以下是形式应用:

<form id="insc" method="get" action="">

提交应答:

<input type="submit" value="SIGN UP" id="subinsc"/>

如果有人能帮助我...... 在此先感谢:)

编辑:解决了。

1 个答案:

答案 0 :(得分:2)

您正在混合callbackdeferred

以这种方式写作

$.ajax({
        ..,
        success:function(){
            alert("Ok, succeed");
            ..
        },
        error : function(){
            alert("Fail createuser");
        }
        })

OR

$.ajax({
        ...
    })
    .done(function() {
        alert("succee");
    }).fail(function() {
        alert("Fail createuser");
    })