最近在用vue2 做项目的时候碰到一个简单的上传图片功能,用的是axios ,用FromData 发送数据,但是发现参数从事穿不过去。

在这里插入图片描述
但是console.log 文件的时候明明是有的, 就算是设置 axios 的header

headers:{
'Content-Type':'multipart/form-data'
}

还是不管用。而且还设置不上去,我信了你的邪哦,经过一番百度总算找到了答案,
是需要设置 withCredentials:true , 表示跨域请求时是否需要使用凭证. 默认为false
完整代码如下

     authen(event) {
         event.preventDefault();
  
        let formData = new FormData();  
         formData.append('fileUpload1',this.files);  
         formData.append('fileUpload2',this.files2);  
         formData.append('fileUpload3',this.files3); 
         formData.append('uid',this.userID);
         formData.append('name',this.name);
		
		// 创建一个空的axios 对象
        const instance=axios.create({
          withCredentials: true      // 如果发送请求的时候需要带上token 验证之类的也可以写在这个对象里
         }) 
              
        instance.post('http://pay.m6zf.com/index.php?s=/api/user/approved.html',formData).then(res=>{
           
                if(res.code == 200){
                    alert('提交成功');
                     this.$router.push({ path: "/Profit" });

                }else{
                    alert("请输入完整再提交");
                }

            })    
     }

在这里插入图片描述
然后在请求就有数据了。

Logo

前往低代码交流专区

更多推荐