Ajax函数在响应时使用一些参数重新加载页面

时间:2015-06-30 17:07:17

标签: javascript jquery ajax

我正在开发一个应用程序,用户在选项卡中提交他/她的信息......

在.onclick()函数之后,数据被提交给操作并正确保存并返回"成功"成功将用户重定向到登录页面...

到目前为止,我已经回复了两个回复,"成功"和"失败"

但问题确实是,当返回" false" ... console.log正确显示响应时,尽管我想要执行的工作"失败"是不是真的有用......页面重新加载一些参数(我会在快照中显示)....

HTML

     <form class="form-horizontal" id="default" name="myform">
     <fieldset title="Step1" class="step" id="default-step-0">

     <div class="form-group">
     <label class="col-lg-2 control-label">Email</label>
      <div class="col-lg-10">
      <input type="email" class="form-control" id="Email1" required>
      <label id="err1" class="col-lg-6 control-label" "></label>
       </div>
       </div>
       <div class="form-group">
        <label class="col-lg-2 control-label">Password</label>
        <div class="col-lg-10">
        <input type="password" name="password1" class="form-control" id="password1" required>
         </div>
          </div>
           <div class="form-group">
           <label class="col-lg-2 control-label">Confirm Password</label>
           <div class="col-lg-10">
<input type="password" name="confirmpassword1" class="form-control" id="confirmpassword1" required>
            <label id="passMatch" class="col-lg-6 control-label""></label>
           </div>
           </div>
           </fieldset>
           <fieldset title="Step 2" class="step" id="default-step-1">
             //some other input fields on 2nd tab
            </fieldset>
     <input type="button" class="finish btn btn-danger" value="Save" id="btnSubmitAll" />
             </form>

的Ajax

<script>
        $("#btnSubmitAll").click(function (event) {
                event.preventDefault();
                var Email = $('#Email1').val();
                var password = $('#password1').val();
                var confirmpassword = $('#confirmpassword1').val();
                $.ajax({
                    type: "POST",
                    url: '@Url.Action("Submit", "Home")',
                    dataType: "JSon",
                    async: false,
                    data: {"Email": Email, "password": password, "confirmpassword": confirmpassword},
                    success: function (data) {
                        if (data == "success")
                            {
                            window.location.href = '@Url.Action("login","Home")';
                            console.log(data);
                        }
                        else {
                            $('#err1').html("Email Exist");
                            console.log(data);
                        }
                    },
                    error: function (data, jqXHR, exception) {
                        //some errors in if/else if/else
                        }
                    }
                });
    });
    </script>

请记住,当数据==&#34;成功&#34;时,所有事情都正确(在成功记录插入后返回成功),但是当&#34;失败&#34;返回,控制台显示正确,但标签没有更新消息,整个页面重新加载表格输入中的一些参数,如下所示......

enter image description here

无为

 if (objIdHelper.IsUserExist(Email))
 {
 return this.Json ("fail");
 }
 else
 {
//some process
return this.Json ("success");
}

我肯定缺少一些逻辑或做一些愚蠢的事情,请帮助.... 任何形式的帮助将不胜感激...感谢您的时间

2 个答案:

答案 0 :(得分:1)

您的if语句if (data == "success")使用data代替data1,就像函数指定的那样。

答案 1 :(得分:1)

检查成功回调中传递的参与者。另请注意,您对错误回调的理解有误。如果成功回调条件有任何错误,它将不会执行。它是为了处理网络错误。