req.user 在 axios POST 请求中未定义,但 GET 工作正常

Posted

技术标签:

【中文标题】req.user 在 axios POST 请求中未定义,但 GET 工作正常【英文标题】:req.user is undefined in axios POST request but GET works just fine 【发布时间】:2021-03-21 16:10:59 【问题描述】:

据我所知,here、here 和其他一百个问题帖子中也有人问过类似的问题。所以我会确保重点关注这些帖子中缺失的部分。

我有一个 create-react-app 运行在同一台服务器上,它有一个 node express 服务器,其 cors 配置为:

app.use(
  cors(
    origin: "http://localhost:3000", 
    credentials: true,
    
  )
);

我会以这种方式发出 get 请求:

Axios.get("http://localhost:8080/base/hasemail",   withCredentials: true )
         .then(result => 
           console.log( "Has Email?",result.data)
           this.setState(
             hasEmail: result.data
           )
         )
  

只要我在 GET 请求中得到 withCredentials: true ,req.user 就会返回用户。

但是在 POST 请求中,不能这样说:

Axios(
        method: "POST",
        data: 
            son: 137URR,
        ,
        withCredentials: true,
        url: 'http://localhost:8080/addsvj'
    )

我知道需要实现 JWT,尤其是当客户端在不同的服务器上时。我没有实现 JWT。这可能是 req.user 未定义 POST 请求的原因吗?

知道我还有什么做错了吗?

【问题讨论】:

【参考方案1】:

我认为这项工作......

Axios.post("http://localhost:8080/base/hasemail",   withCredentials: true )
    .then(result => 
        console.log( "Has Email?",result.data)
        this.setState(
            hasEmail: result.data
        )
    )
  

【讨论】:

以上是关于req.user 在 axios POST 请求中未定义,但 GET 工作正常的主要内容,如果未能解决你的问题,请参考以下文章

req.user 是未定义的,即使它能够 console.log 用户

vue中采用axios发送post请求

在vue中使用axios发送post请求,参数方式

如何在反应中使用 axios 发出 POST 请求?

如何在 firebase 函数中使用 Axios 正确发送 Post 请求?

axios发送post请求,请求参数会出现在url后面的问题