Vue axiois delete put post等400 403 坑

在使用get, post 等请求的时候, 习惯写法分为两种:

当后端接受参数形式为:

        data = request.get_json()
        para_A= data['paraA']
        para_B=data['paraB']

前端请求形式应该为:

this.$http.get(url, {paraA: 1, paraB: b})
this.$http.post(url, {paraA: 1, paraB: b})

对于另一种形式 ,后端接受参数形式为:

        args = collection_parser.parse_args()
        para_A= args.get('paraA')
        para_B= args.get('paraB')

前端请求形式应该为:

this.$http.get(url, {
      params: {
        paraA: 1,
        paraB: 2
      }
})

如果格式错误很容易返回400

但是 对于delete 请求,参数的形势又发身变化

如果仍然使用上面发送参数的格式, 请求返回错误:


image.png

错误信息为:
None is not of type object
input payload validation failed


image.png

查看资料发现:


image.png

post,put ,get等请求参数为:

url data config

delete 请求参数为:

url config

因此, delet 请求格式应该为:

this.$http.delete(url, {
      data: {
        paraA: 1,
        paraB: 2
      }
})

这样问题解决

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。