this.$refs[formName].validate( async (valid) => {
if (valid) {
let params ={
user_name: this.ruleForm.username,
password: this.ruleForm.pwd
},
res = await LOGIN();
if(res && res.data.status == 1){
console.log('登录成功')
}
})
这种提交会导致第一次打开页面时登录不成功,接口方法走到一半后就不执行了(在network中一闪而过,前端监测不到返回值),导致token没有存储到本地(localstorage),前置路由守卫(router.beforeEach)中判断token失效后又跳回到登录页面
解决办法:
1、阻止事件的默认行为
vue:
@click.prevent
js:
<a href="http://www.baidu.com" @click.prevent='notLink'>百度</a>
<script>
a.onclick = function(e){
alert('a');
// 阻止浏览器默认行为
e.preventDefault();
}
</script>
二、下面介绍