gpt4 book ai didi

javascript - 通过 flask 中的 ajax 调用访问 Tornado 中的 cookie

转载 作者:行者123 更新时间:2023-11-30 18:31:32 25 4
gpt4 key购买 nike

总的来说,我有一个 Flask 应用作为主网站,还有一个 Tornado 应用作为网站的聊天服务器,每个应用都在单独的端口上独立运行。

聊天应用直接从flask中读取session信息,


self.get_cookie(设置。SESSION_COOKIE_NAME)

我遇到的问题是,如果我通过浏览器访问聊天服务器, session 将读取,但使用 Ajax 调用 session 不会读取。

聊天服务器提供 Access-Control-Allow-Domain header 以允许跨域调用。

ajax很简单,


$.getJSON('http://127.0.0.1:8888', {'message': 'test'}, function(){});

cookie 域简单地设置为 127.0.0.1 而不是 HTTP 专用 cookie。

我可以在浏览器中通过 127.0.0.1:8888 而不是 Ajax 请求访问 cookie 有什么特别的原因吗?

最佳答案

http://code.google.com/p/jquery-jsonp/wiki/APIDocumentation

根据我的研究,跨域 ajax 调用似乎不会在请求 header 中发送 cookie 信息,使用上述库允许解决方法。

注意这类似于

Cookie Access over JSONP

此外,JSONP 响应必须包含在提供的回调 GET 参数中发送,否则会抛出错误。

未捕获的语法错误:意外的标记:

例如

http://127.0.0.1:8888/chat/get_messages?callback=jsonp

响应

jsonp(
{
'data': '1',
'result': true
}
)

关于javascript - 通过 flask 中的 ajax 调用访问 Tornado 中的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com