Axios PUT 请求不起作用

Axios PUT request doesn't work

axios.put 方法不起作用,而 axios.post 有效。

这是 post 请求的工作示例。 (示例)

let response = await axios.post(`${ROOT_URL}/urls/url/`, {
    post_id,
    password,
    content
  }, { headers });
  console.log(response.status) // 201.

我刚刚复制并粘贴了有效的post请求,并修改了put请求的一些字段和方法。但它在服务器端 returns 400 错误。

let response = await axios.put(`${ROOT_URL}/profile/update/`, {
    title,
    gender
  }, { headers }); <- Server prints 400 HTTP error.

我用 Postman 进行了测试,我确认它适用于 put 方法。我不得不认为 axios.put 的语法是错误的,但我不确定它与 post 方法有何不同。

如果您查看 axios 的官方文档页面,它看起来几乎相同。 Axios documentation link

而 axios 版本是 0.16.2 : "axios": "^0.16.2",

400 是错误请求,不是 405 方法不允许。

我会检查你的帖子是否正确。

这是一个有效的对象吗?

{
    title,
    gender
}

示例:

axios.put('/api/something', {
    foo: bar
})
    .then(function (response) {
        // do something...
    }.bind(this))
    .catch(function (error) {
        console.log(error)
    });

我post这也许能解决某人的问题

如果在后端的 api 设置中。路线是这样配置的 'api/user1 or some other mode of identification/someData/anotherData'

您应该按原样而不是作为对象发送数据。 所以在我的例子中是这样的: axios.put(`${Routes.ConfrimCode}${phoneNum}/${imei}/${code}`).then(res=>{ //callback })