我打算询问如何在JS中实现会话,我发现可以使用的函数很少,就像我发现的这个例子一样:
String exforsys = request.getParameter("test");
session.setAttribute("test", exforsys);
然后只使用session.getAttribute( exforsys);
但没有回应,我猜它只用于servlet或其他东西。
无论如何,我决定可能有人除了使用会话之外还有其他方法,我想要做的就是点击一个页面中的链接,根据按下哪个链接,我将加载不同的信息。
由于它是一个onclick
函数,我一直坚持使用JS!
所以我需要将这些信息传递到第二页,因为它可以很容易地用PHP和JS处理,但是有些计算机会删除cookie,这样就不好了!
任何建议或其他方式,我可以达到我想要的但没有使用会话?
答案 0 :(得分:2)
会话是服务器变量。因此不能被JavaScript使用。
但是,您可以通过ajax请求检索会话变量。
脚本(jQuery)
//This portion will be triggered once the DOM is loaded and is ready
$(document).ready(function() {
$.post("getsession.php",
{ "variable" : "yourneededsessionvariable" },
function(data) {
//data contains your session data
}
);
});
PHP
//getsession.php
<?PHP
session_start();
echo $_SESSION[$_POST['variable']];
?>
答案 1 :(得分:2)
使用local storage或客户控制的cookies.。会话使用服务器控制的cookie。 Cookie只是驻留在客户端上的小文件。
答案 2 :(得分:1)
会话句柄存储在cookie中。如果不接受cookie,服务器会将sessionID添加到URL。如果您没有cookie,除了URL之外,您不能保留任何内容。
为什么“onclick”阻止您使用会话?您可以将内容添加到服务器并将其添加到会话onclick
答案 3 :(得分:1)
会话通常表示“存储在服务器上并通过存储在cookie中的令牌与用户关联的某些数据”。你不能用客户端JavaScript(出于显而易见的原因)这样做。
您可以将数据直接存储在Cookie中。
如果您愿意牺牲广泛的浏览器支持,那么您可以使用HTML 5和Friends引入的客户端存储机制之一来增加存储空间。
也许除了使用会话之外,还有其他人可以使用另一种方式,我要做的就是点击一个页面中的链接,根据按下的链接,我会加载不同的信息。
只需链接到不同的页面。
有些计算机会删除cookie并且不会很好
如果他们删除了所有cookie,那么会话也不会起作用。
答案 4 :(得分:1)
将您想要下一页的数据附加到查询字符串上。
<a href="foo.html?bar=123">123</a>
<a href="foo.html?bar=456">456</a>
然后在foo.html上,你可以检查location.href
以查看传入的内容。这里不需要cookie。
答案 5 :(得分:0)
为什么不使用请求参数?即http://yourserver.com/page.php?link=1
答案 6 :(得分:0)
PHP是一种服务器scipring语言,而javascript是客户端语言 你不能在javascript中实际进行会话