【发布时间】:2016-03-06 22:57:04
【问题描述】:
我创建了一个 Open Layers 3 地图,它从我的服务器加载它的图块,我不传输用户 ID,它是服务器端识别的,所以如果没有用户登录,地图将无法工作。
到目前为止一切顺利,一切正常。如果有人点击地图中的某个功能,我也想向服务器发送一些请求,但也不发送用户 ID,因为无论如何都应该有一个会话。但是,如果我向服务器发送 AJAX 请求,那么请求中将缺少 JSESSIONID,并且每次发送请求时我都会获得一个新的会话 ID。
我知道这是由于 HttpOnly 标志,但让我感到困惑的是,开放层如何在其请求中包含 JSESSIONID,但我没有为我自己的 Ajax 请求获取它。
另请参见图片以了解区别:
-- GetTile 是 Open Layers 生成的请求
-- GetStarMapData 是自己编写的 Ajax 调用生成的请求
两个请求都只是访问服务器上的一个 servlet
【问题讨论】:
-
您需要从您的服务器而不是
file://提供 HTML。 -
是的,我只是好奇为什么它可以在开放层中工作
标签: javascript cookies session-cookies