Axios PUT请求不起作用

时间:2017-12-06 14:03:31

标签: javascript reactjs react-native axios

当axios.post工作时,

axios.put方法不起作用。

这是发布请求的工作示例。 (实施例)

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

我刚刚复制并粘贴了有效的帖子请求,并修改了put请求的一些字段和方法。但它在服务器端返回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",

2 个答案:

答案 0 :(得分:2)

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

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

这是一个有效的对象吗?

{
    title,
    gender
}

示例:

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

答案 1 :(得分:0)

我在此处发布此消息,也许它可以回答某人的问题

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

您应该完全这样发送数据,而不是作为对象发送数据。 所以在我的情况下是这样的: axios.put(`${Routes.ConfrimCode}${phoneNum}/${imei}/${code}`).then(res=>{ //callback })