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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM