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