【求助】vue 添加请求拦截器后,提交表单,数据库里添加了2条数据?

问题:添加了请求拦截器(头部加入了token)后,提交保存表单时,数据库里添加了2条;
把请求拦截器注释掉,再提交就正常了,不知道什么原因?


axios请求拦截器代码如下:

//添加请求拦截器
axios.interceptors.request.use(config => {
    if(store.state.token){
        config.headers.token = store.state.token
    }        
    return config;
},error => {
    return Promise.reject(error);
});

后端代码如下:

header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST');
header('Access-Control-Allow-Headers:x-requested-with,content-type,token');

$data=$request->param();
$res=Company::create($data);

if($res){
    return json(array('status'=>1,'msg'=>'添加数据成功!'));
}else{
    return json(array('status'=>0,'msg'=>'添加数据失败!'));
}

添加请求拦截器,提交后有问题的图片
图片描述

图片描述


注释掉请求拦截器的图片
图片描述

图片描述

阅读 2k
1 个回答

检查一下你的服务端是不是把options请求也当作表单提交处理了,感觉你应该是服务端无数据验证

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题