Vue 中用delete方式进行axios请求接口,请求状态码报415(Unsupported Media Type) - 有匪

时间:2024-03-07 08:05:35

Vue 中用delete方式进行axios请求接口,请求状态码报415(Unsupported Media Type)

报错截图:

     

导致原因:

     vue中axios请求方式,delete和post,put在传值上有区别, post 和 put 有三个参数,url , data , 和 config 。所以在使用这两个时,可以写成  axios.post(url,{param:xx}) , axios.put(url,{param:xx}), 但是delete只有两个参数: url  和 config ,data在config中,所以需要写成 axios.delete(url,{data:{param:xx}}) 。

     这个是在封装请求方法里面处理的,之前代码如下:

export function delete(url,params){
      return new Promise((resolve,reject)=>{
           axios.delete(url,qs.stringify(params)).then(response=>{   //put封装和这个一样
                 resolve(response);
           },err=>{
                 reject(err);
           }).catch((error)=>{
                 reject(error);
           })
      })
}

      改过之后,代码如下:

export function delete(url,params){
      return new Promise((resolve,reject)=>{
           axios.delete(url,params).then(response=>{  //这里传递的参数不做处理
                 resolve(response);
           },err=>{
                 reject(err);
           }).catch((error)=>{
                 reject(error);
           })
      })
}

使用方法:

     封装接口,例如:  const  delApi = value => 封装请求方法文件的名字.delete(url+\'api/xxx/xxx\',value);

     调用: 

           let data = { param: param};    //传递的参数形式

 

           封装接口的文件名字.delApi({data:data}).then(res=>{

                    //请求成功返回的数据

           }).catch(err=>{})

 

相关网址:   https://blog.csdn.net/w_e_i_1201/article/details/86006816

以及关于axios 中文文档详解网址:   https://www.jb51.net/article/123485.htm