【问题标题】:Set cookie from API response in React在 React 中从 API 响应中设置 cookie
【发布时间】:2020-07-24 10:48:06
【问题描述】:

我有一个 React 应用和一个 API。当我 POST 数据到 API 登录 url API 响应我成功登录的 cookie 时,我必须设置它,所以在每个下一个请求中,用户将发送这个 cookie。但我找不到从响应中获取它的方法。

我想设置sessionid,但我无法在代码中访问它。我试着做

Cookies.set('sessionid', response.headers['sessionid']);

但它设置了undefinedconsole.log(response.headers) 也给了我{content-length: "31", content-type: "application/json"}。我是不是做错了什么?

发送函数:

formSender() {
    const url_to_send = `${this.state.api_base_url}:${this.state.api_base_port}${this.state.api_user_url}/login/`;
    axios.post(url_to_send, `username=${this.state.username}&password=${this.state.password}`, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
        .then((response) => {
        // I need to set the cookie here
            this.setState({
                login_success: response.status === 200,
                request_sent: false
            });
        })
};

【问题讨论】:

    标签: reactjs authentication session-cookies


    【解决方案1】:

    尝试在后端设置 Access-Control-Expose-Headers 或

    await axios({
                    method: 'post',
                    url: YOUR_URL,
                    data: Data,  
                    headers: { 'Authorization': 'TOKEN' }
                });
    
    

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 2012-03-25
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      相关资源
      最近更新 更多