vue项目中点击登录跳转,url中自动加上了问号

问题描述:

当我登录系统的时候,页面的确跳转了,但是浏览器地址栏的url里多了一个问号,而这并不影响页面显示,像下面这样
问题描述

<form action="">
  <div class="login_box_input">
    <input type="text" class="form-control pull-left" v-model="loginData.user_name">
    <input type="password" class="form-control pull-right" v-model="loginData.user_pwd">
  </div>
  <button class="btn btn-primary" @click="login()">登录</button>
</form>

原因:

代码里用到了 form 标签,点击button按钮的时候同时执行了form表单的 submit 事件和自己设置的 click 事件,一次空的表单提交重置了请求。

解决方法:

  1. 不使用form标签,这样可能导致不能回车
  2. button 按钮加上 type="button",否则默认是 submit
  3. 使用 event.prevent 取消默认事件,vue中可以写 @click.prevent="login()"
Logo

前往低代码交流专区

更多推荐