我正在开发一个应用程序,用户在选项卡中提交他/她的信息...
在.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>
请记住,当数据==“成功”时,一切都会正常(成功插入记录后返回成功),但是当返回“失败”时,控制台正确显示它,但标签未随消息以及整个页面更新重新加载表单输入中的一些参数,如下所示...
在行动
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/