困扰了一天的问题,使用ajax向后端发送请求,后端成功接收并且处理,但是返回前端时在前端调用response时发现后端返回的数据为空 。
success:function (response) {
if(response.code === 0){
localStorage.setItem('token',response.message);
window.location.href = 'index.html';
}
else{
alert("user not find!");
return false;
}
},
此时请求是成功的所以进入success,我的返回数据中是有code的并且成功时为0,但是程序并没有执行这一步,经过一番研究发现是Ajax的请求和表单提价的请求冲突了,因为我是把Ajax绑定在form表单的按钮上,所以在点击按钮会同时提交两次请求导致页面刷新两次。
<button type="submit" class="btn btn-primary" id="btn">Sign In</button>
这是表单中的按钮,解决方法可以把type="submit"改为="button"或者在form表单的标签中添加οnsubmit="return false"的属性来阻止表单的提交。