本文介绍: 在 `POST` 请求中,我们可以直接将数据对象作为第二个参数传递给 `Axios`,因为 `POST` 请求通常包含请求体。但是在 `DELETE` 请求中,我们需要使用对象字面量套一个自定义的 `data` 作为第二个参数,并使用 `data` 字段指定数据。
踩坑 Axios Delete 请求传参
问题描述
今天在写前后端交互时,我想将 data
数据通过 delete
进行传参 axios.delete("/info", data)
,但是发现后端一直提示参数错误,我看了看代码也没错啊。跟 post
、patch
一样的写法为什么会出现参数错误。然后花了大量时间检查代码,最终还是不行。
无奈我只能在网上寻找答案,最后才发现是因为 Delete
本身的问题,下面是问题的解决办法:
解决办法
我们将数据对象 data
作为第二个参数直接传递给 Axios
的 post
方法。Axios
会将该对象自动转换为请求体,并发送到服务器上。
然而,对于 DELETE
请求,情况略有不同。根据 RESTful API
设计,DELETE
请求通常不包含请求体,而是将数据放在请求 URL
中。但是,一些后端框架默认不解析 DELETE
请求的请求体,因此如果需要在 DELETE
请求中使用请求体,我们需要通知后端框架解析请求体数据。
为了解决这个问题,Axios
提供了一种特殊的方式。我们需要使用一个对象字面量作为第二个参数,且该对象包含一个自定义的 data
字段来传递对象数据
总结
在 POST
请求中,我们可以直接将数据对象作为第二个参数传递给 Axios
,因为 POST
请求通常包含请求体。但是在 DELETE
请求中,我们需要使用对象字面量套一个自定义的 data
作为第二个参数,并使用 data
字段指定数据。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。