axios使用delete请求发送data传参示例。

注意:axios 0.22.0(不是太准确)的版本在delete方法中,在config中配置data属性并不能上传payload数据,可采用axios.request()方法替代

例如这样的话有可能行不通:

export const LOGIN_OUT= (data: object) => {
    
    
  return http.delete(API.SESSION,{
    
    data})  
}

原因是:
GET,DELETE方法:
即axios中常见的get/delete请求,也称作query请求。
例如:

export const GET_ANNOTATION_LIST = (params: object) => {
    
    
  return http.get(API.ANNOTATION_LIST, {
    
     params })
}//这个可以请求
export const GET__LIST = (data: object) => {
    
    
  return http.get(API.LIST, {
    
     data })
}//这个不可以请求,发送不了荷载数据

是因为,get和delete方法第二个参数为config,以上就想着用,传值时需要借助config中data字段,但是呢,有些版本不支持这样写了。

那么如何写呢

可采用axios.request()方法替代

export const LOGIN_OUT= (data: object) => {
    
    
  return http.request({
    
    
    url:API.SESSION,
    method:"delete",
    data:data
    })
}

在这里插入图片描述
为啥需要通过这样写,以及axios库的设计,这就和http请求规范的restful标准有关了,有兴趣的可以,都是为了遵守标准而设计的规范,这个请求的语义。其实从http报文的角度看,他们完全都是一样的。没有任何区别,大家能发送的信息都是一样的。你能做的我也能做,不一样的在于method所代表的这个请求的语义。以及各种库对这个语义的强制性高低。

猜你喜欢

转载自blog.csdn.net/m0_46672781/article/details/130322980
今日推荐