【发布时间】:2018-12-15 04:41:26
【问题描述】:
我正在使用一个名为 jqvmap 的 jQuery 矢量地图库。任何人都知道在 Javascript 中设置会话而不是设置 Cookie 的方法吗?:
我的代码:
function getCountryName(code) {
var path = JQVMap.maps["world_en"].paths[code];
return path && path.name;
}
var fromCountryCode = getCookie(cookieName) || "";
worldMap = jQuery('#vmap').vectorMap({
map: "world_en",
backgroundColor: '#FFCC28',
borderColor: '#818181',
scaleColors: ['#222222', '#ffffff'],
borderOpacity: 0.25,
color: '#2F3132',
hoverOpacity: 0.8,
multiSelectRegion: true,
selectedColor: '#FBB24B',
selectedRegions: '{{$flag}}',
//selectedRegions: [fromCountryCode],
enableZoom: true,
showTooltip: true,
onRegionClick: function(e, code, name) {
code == "AE" ||
code == "AF" ||
code == "AG" ||
code == "AL" ||
code == "AM" ||
code == "AO" ||
code == "AR" ||
code == "AT" ||
code == "AU" ||
etc...
code == "ZW"
$("#message").text("Your Country: " + name);
setCookie(cookieName, code, 600); // minutes
window.location.replace("https://example.com/");
}
});
我的想法是在 Javascript 中设置会话,而不是通过替换以下代码部分来设置 Cookie:
setCookie(cookieName, code, 600);
替换为
session(['name' => $code]);
我阅读了 SO,似乎无法从客户端更改会话,但可能有人知道使用 AJAX 的解决方法。 brgds。
【问题讨论】:
-
会话的标准方式是在客户端浏览器上设置一个cookie,所以恕我直言,这个问题有点过于宽泛,无法得到一个干净的答案。你检查过吗this关于会话存储的解释?
-
谢谢@deblocker,我的系统正在使用cookies,但问题在于可以根据php.net/set_cookie在下一页加载时访问cookies,因此我无法使用它为新的客户在访问默认主页时立即
标签: javascript session cookies jqvmap