1. 程式人生 > >使用axios.delete時後臺接收不到引數的疑惑

使用axios.delete時後臺接收不到引數的疑惑

這幾天在學習使用 axios 的時候發現一個問題,在使用 axios.post 和 axios.put 時,後臺均可以通過 req.body 訪問到引數,但是使用 axios.delete 時後臺卻無法接收到引數,而網上無人解答此問題,難道大家都只用 axios.post 嗎,但是我又很犯賤,偏想要用 delete,無奈之下只好去檢視原始碼,但是作為菜鳥,我很少去看原始碼這種東西,看了半天,終於發現了問題

各位觀眾,看到沒有,delete 和 post 、put 的引數不一樣,post、put都有三個引數,分別為url、data還有config,而delete只有兩個引數,第一個是url,第二個是config,我又去看config所實現的介面型別

這個接口裡面也有一個data,突然間我就明白了,我之前發請求時是這樣呼叫的 axios.post('/api',{id:1}) 、axios.put('/api',{id:1}),我原以為delete應該也是這樣呼叫 axios.delete('/api',{id:1}) ,但後臺卻接收不到,是因為 post 和 put 第二個引數是data,所以可以直接在第二個引數的位置寫上資料,後臺可以訪問到,而delete第二個引數是 config ,所以要通過 config 裡面的 data 來傳參,所以應該這樣寫:

axios.delete('/api',{data:{id:1}})

在資料的外面包一個data就可以了
--------------------- 
作者:天角海涯 
來源:CSDN 
原文:https://blog.csdn.net/qq383366204/article/details/80268007