javascript - Ajax 函数使用响应中的一些参数重新加载页面

标签 javascript jquery ajax

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

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

到目前为止我已经返回了两个响应,“成功”和“失败”

但问题确实是,当返回“false”时...console.log正确显示了响应,尽管我想在“fail”上执行的工作并没有真正工作...并且页面重新加载了一些参数(我将在快照中显示)....

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>

请记住,当数据==“成功”时,一切都会正常(成功插入记录后返回成功),但是当返回“失败”时,控制台正确显示它,但标签未随消息以及整个页面更新重新加载表单输入中的一些参数,如下所示...

enter image description here

在行动

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

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

最佳答案

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

关于javascript - Ajax 函数使用响应中的一些参数重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144256/

相关文章:

javascript - JQuery InnerText 不包括子元素

jquery - iPad translate3d Scroller 不够自然

javascript - 如何在第一次调用后重新调用 promise ?

javascript - 无法在 ajax 中进行检查

javascript - AngularJS ng-options 添加另一个选项

javascript - 在 Node.js 中通过 REST API 传输整个 Javascript 对象的最佳方式

javascript - 评估 JavaScript 语句中的一个特定函数

javascript - 在 JavaScript 中从一个函数访问另一个函数的变量

javascript - Jquery FullCalendar,在输出中显示周数和天数名称

css - 如何更改颜色并向图像添加文本