如何从axios发布请求中打印结果

时间:2019-04-29 10:35:02

标签: reactjs redux promise axios

我想将我的令牌从服务器(服务器是用Java制造的)保存在localStorage中,但是下面的代码不起作用,所以我也想打印res来查看我从服务器获取的数据。

我尝试使用res.data.text()res.data.json()打印到控制台,但是不起作用。

    return dispatch =>{
        return api.user.login(userData).then(res =>{
             const token = res.data;
             console.log(token);
             //localStorage.setItem('jwtToken',token);

        })
}
import axios from 'axios'

export default {
    user:{
        login:(credentials) => axios.post('http://localhost:8080/api/auth/signin',credentials).then(res=>res.data.user)
    }
}

发布请求在服务器上有效,但是在我要打印时卡住了。卡住是指当我按下登录按钮时没有任何反应。

如何打印到控制台res中?

3 个答案:

答案 0 :(得分:0)

您可以尝试将json对象转换为字符串以在控制台上查看

return dispatch =>{
        return api.user.login(userData).then(res =>{
             const token = res.data;
             console.log(JSON.Stringify(res));
             //localStorage.setItem('jwtToken',token);

        })
}

答案 1 :(得分:0)

axios.post('http://localhost:8080/api/auth/signin',credentials)
    .then(
        res=>console.log(res.data.user)
    )

尝试一下。我在console.log()函数中编写了一个.then。如果仍然无法正常运行,请尝试记录res而不是res.data.user并检查结果

答案 2 :(得分:0)

对于成功的请求:

  return dispatch => api.user.login(userData)
      .then(res => console.log(res.data))

对于失败的请求:

记录错误请求,您将打印错误对象。

    return dispatch => api.user.login(userData)
      .then(res => console.log(res.data))
      .catch(error => console.log(error.request)) 

要存储令牌:

localStorage.setItem('jwtToken', JSON.stringfy(token))