本帖最后由 八月未央 于 2021-9-22 23:26 编辑
new Vue({
el:"#vvv",
data:{
username:"",
password:""
},
methods:{
submitLogin () {
let data = {name:this.username,password:this.password};
axios.post("/userLogin.do", data).then(res => {
}).catch(function (error) {
})
}
}
});
以上是vue的js代码。
<div class="container" id="vvv">
<form @submit.prevent="submitLogin">
<div class="mb-3">
<label for="InputUsername" class="form-label">用户名</label>
<input type="text" class="form-control" id="InputUsername" v-model="username" placeholder="请输入用户名">
</div>
<div class="mb-3">
<label for="InputPassword" class="form-label">密码</label>
<input type="password" class="form-control" id="InputPassword" v-model="password" placeholder="请输入密码">
</div>
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Check me out</label>
</div>
<button class="btn btn-primary">Submit</button>
</form>
</div>
以上是html
@PostMapping("/userLogin.do")
public String userLogin(@RequestBody User user) {
//省略查询用户,这里没问题
if(result!=null){
//用户存在
System.out.println("YES");
//这里能打印
return "redirect:index.html";
}else{
System.out.println("NO");
//这里能打印
return "redirect:error.html";
}
}
以上是controller的关键代码。 2个System.out.println都能打印,最后问题出在了重定向上
错误登录,post请求,抓包以后,响应头有“Location: http://xxx/error.html” .,可是,原html页面没刷新(因为表单内容都在)。但是又有抓到重定向的error.html。 请问这个问题如何解决?
是不是axios.post的then里面还要写东西?或者说事件修饰符不对?
|