通过ajax实现登录功能 无法正常实现页面跳转
通过Ajax实现一个非常简单的页面的登录功能,后端未报错且成功返回参数,前端无法实现页面跳转。
原因:form表单和ajax不能同时使用
登录页面代码:
<form> <h2>Login Form</h2> <div> <i class="icon ion-ios-navigate" style="color:#71AB65;"></i> </div> <div class="form-group"> <input id="userName" class="form-control" type="text" name="userName" placeholder="登录名"> </div> <div class="form-group"> <input id="password" class="form-control" type="password" name="password" placeholder="密码"> </div> <div class="form-group"> <button id="login" class="btn btn-primary btn-block" type="submit" >登 录 </button> </div> <div style="text-align:center;"> <a href="signIn.html" class="forgot" >注册用户</a> <a href="#" class="forgot" >忘记密码?</a> </div> </form>
ajax请求部分:
$("#login").click(function () { var userName = $("#userName").val(); var password = $("#password").val(); $.ajax({ type: "POST", url: "user/login", data: { "username": userName, "password": password }, dataType: "json", contentType: "application/x-www-form-urlencoded; charset=utf-8", traditional: true, success: function (result) { console.log(result); if (result.code == 0) { alert(result.message) } else if (result.code == 1) { window.location.href = "index.html"; } }, error: function (result) { alert("检索出错!"); } }); });
页面不跳转的原因是登录页面使用了form标签,换成div即可,代码如下:
<div > <h2>Login Form</h2> <div> <i class="icon ion-ios-navigate" style="color:#71AB65;"></i> </div> <div class="form-group"> <input id="userName" class="form-control" type="text" name="userName" placeholder="登录名"> </div> <div class="form-group"> <input id="password" class="form-control" type="password" name="password" placeholder="密码"> </div> <div class="form-group"> <button id="login" class="btn btn-primary btn-block" type="submit" >登 录 </button> </div> <div style="text-align:center;"> <a href="signIn.html" class="forgot" >注册用户</a> <a href="#" class="forgot" >忘记密码?</a> </div> </div>