Cookie无法通过脚本读取

Bla*_*ack 5 javascript cookies google-chrome flask reactjs

我正在尝试使用该js-cookie软件包通过以下Javascript代码从浏览器中读取cookie .但是,cookie未被读取.

import Cookies from 'js-cookie';
var cookie_name = 'cookie';
var cookie = Cookies.get(cookie_name);
console.log(cookie);
Run Code Online (Sandbox Code Playgroud)

使用下面使用的Python代码创建cookie Flask.

response.headers.add('Access-Control-Allow-Headers', 'Content-Type, text/plain')
response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
response.headers.add('Access-Control-Allow-Credentials', 'true')
response.set_cookie(key='cookie',
                value=payload,
                domain='<url>')
Run Code Online (Sandbox Code Playgroud)

Flask应用程序具有以下参数

app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SESSION_COOKIE_HTTPONLY'] = False
Run Code Online (Sandbox Code Playgroud)

上面我关闭了HttpOnly标志,所以我的脚本应该能够读取cookie.我也无法console.log(document.cookie)在浏览器中看到cookie的使用.我的JS代码无法读取cookie有什么理由吗?

小智 0

你应该使用“react-cookie”,通过 npm 安装它。然后在你的组件中尝试导入 HOC withCookies

import { withCookies } from 'react-cookie';
Run Code Online (Sandbox Code Playgroud)

通过 key 获取 cookie 绑定

    function getCookieFucnctionTest(myRecordFromCookies) {
       var value = "; " + document.cookie;
       var parts = value.split("; " + myRecordFromCookies+ "=");
       if (parts.length === 2) return parts.pop().split(";").shift();
     }
Run Code Online (Sandbox Code Playgroud)

使用 getCookieFucnctionTest 并将其保存到参数中之后

使用 HOC 导出您的组件

export default withCookies(MyComponent);
Run Code Online (Sandbox Code Playgroud)