使用axios请求失败但是使用fetch取得了成功

时间:2017-12-21 15:51:34

标签: reactjs axios

我尝试使用axios从我的API获取数据(此错误为400)

 axios.post('http://localhost:8086/api/login', 
   '{"username" : "user", "password" : "pwd"}', header)
 .then(response => {
        console.log(response)
 })
 .catch(error => {
      console.log(error.response)
 });

使用此代码,它正在运行,但我不想使用fetch(此处为retrun 200)

const url = 'http://localhost:8086/api/login';
let data = '{"password":  "pwd", "username": "user"}'
let fetchData = {
    method: 'POST',
    body: data,
    headers: new Headers()
}
fetch(url, fetchData)
  .then(response => {
       console.log(response.body)
   })
   .catch((error) => {
       console.log("error")
       console.log(error)
    });

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

来自axios文档"

  

axios.post(url [,data [,config]])

config是对象的位置,请参阅请求配置部分。 因此,要使其工作,您应该将axios.post方法的第二个参数更改为object,而不是

'{"username" : "user", "password" : "pwd"}'

应该是

{"username" : "user", "password" : "pwd"}

<强>更新

您应该将其用作以下内容:

axios.post('localhost:8086/api/login', {"username" : "user", "password" : "pwd"}, header)

希望它有意义。