javascript - 脚本无法读取 Cookie
问题描述
我正在尝试使用该js-cookie
包通过以下 Javascript 代码从浏览器中读取 cookie。但是,cookie 没有被读取。
import Cookies from 'js-cookie';
var cookie_name = 'cookie';
var cookie = Cookies.get(cookie_name);
console.log(cookie);
cookie 是使用以下 Python 代码创建的,该代码利用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>')
Flask 应用程序具有以下参数
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SESSION_COOKIE_HTTPONLY'] = False
上面我已经关闭了HttpOnly
标志,所以我的脚本应该能够读取 cookie。我也看不到console.log(document.cookie)
在浏览器中使用的 cookie。我的JS代码无法读取cookie有什么原因吗?
解决方案
如果您在浏览器控制台中看不到 cookie,则意味着它没有被设置或仅使用 HTTP 设置。
SESSION_COOKIE_HTTPONLY
应该只影响 Flask 设置的会话 cookie,看起来您正在尝试完全设置不同的 cookie。
我会:
- 确认 cookie 确实被设置(您可以通过开发工具检查)
- 如果它正在设置,并且以某种方式设置为仅打开 HTTP,请更改您的代码:
...
response.set_cookie(key='cookie', value=payload, domain=<url>, httponly=False)
推荐阅读
- kendo-ui - Kendo UI 功能太慢:toDataURL 和 saveAsExcel
- c# - 导致文本框自动完成建议出现在代码中
- vb.net - 在 VB.NET 中打开 Photoshop CC
- jvm - G1 GC什么时候触发initial-mark除了IHOP
- ios - 推送通知有时会调用 didFinishLaunchingWithOptions 而不是 didReceiveRemoteNotification
- google-cloud-platform - 继续中断 rsync 后 .gstmp 文件上的 gsutil rsync 错误
- c++ - 空指针常量(nullptr)、空指针值和空成员指针值有什么区别?
- php - 如何获取自定义帖子类型的标题作为其相关帖子的链接?
- ruby-on-rails - 尝试在其他文件 ruby 中使用来自另一个类的继承变量
- python - 带有拆分解码器和编码器的 Keras AE - 但有多个输入