我正在开发一个应用程序,用户在选项卡中提交他/她的信息......
在.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;返回,控制台显示正确,但标签没有更新消息,整个页面重新加载表格输入中的一些参数,如下所示......
无为
if (objIdHelper.IsUserExist(Email))
{
return this.Json ("fail");
}
else
{
//some process
return this.Json ("success");
}
我肯定缺少一些逻辑或做一些愚蠢的事情,请帮助.... 任何形式的帮助将不胜感激...感谢您的时间
答案 0 :(得分:1)
您的if语句if (data == "success")
使用data
代替data1
,就像函数指定的那样。
答案 1 :(得分:1)
检查成功回调中传递的参与者。另请注意,您对错误回调的理解有误。如果成功回调条件有任何错误,它将不会执行。它是为了处理网络错误。