与JavaScript中的PHP会话等效

与JavaScript中的PHP会话等效,php,javascript,session,Php,Javascript,Session,我想问一下如何在JS中实现会话,我发现可以使用的函数很少,比如我发现的这个示例: String exforsys = request.getParameter("test"); session.setAttribute("test", exforsys); 然后只需使用session.getAttribute(exforsys) 但是没有响应,我猜它只在servlet或其他东西中使用 无论如何,我决定也许有人有一种替代方法,而不仅仅是使用会话,我试图做的是点击一个页面中的链接,根据按下的链接

我想问一下如何在JS中实现会话,我发现可以使用的函数很少,比如我发现的这个示例:

String exforsys = request.getParameter("test"); 
session.setAttribute("test", exforsys);
然后只需使用session.getAttribute(exforsys)

但是没有响应,我猜它只在servlet或其他东西中使用

无论如何,我决定也许有人有一种替代方法,而不仅仅是使用会话,我试图做的是点击一个页面中的链接,根据按下的链接,我将加载不同的信息

由于它是一个
onclick
函数,我被JS卡住了

所以我需要将这些信息传递到第二个页面,cookies工作得很好,因为它可以很容易地用PHP和JS处理,但是有些计算机会删除cookies,这不太好


有什么建议或其他方法可以达到我想要的,但不使用会话吗?

会话句柄存储在cookie中。如果不接受Cookie,服务器将向URL添加会话ID。如果没有Cookie,则除了url之外,无法保留任何内容


为什么“onclick”会阻止您使用会话?只要单击会话是服务器变量,就可以将ajax内容添加到服务器并将其添加到会话中。因此,JavaScript无法使用

但是,您可以通过ajax请求检索会话变量

脚本(jQuery)

PHP

//getsession.php

为什么不直接使用请求参数?i、 e.
http://yourserver.com/page.php?link=1

会话通常意味着“存储在服务器上并通过存储在cookie中的令牌与用户关联的一些数据”。使用客户端JavaScript无法做到这一点(原因很明显)

您可以将数据直接存储在cookie中

如果您愿意牺牲广泛的浏览器支持,那么您可以通过使用HTML5和Friends引入的一种客户端存储机制来增加存储空间

也许有人有一个替代方法,而不仅仅是使用会话,我试图做的是点击一个页面中的链接,并根据哪个链接被按下,我将加载不同的信息

只需链接到不同的页面

有些电脑会删除cookies,这可不好


如果他们删除了所有cookie,那么会话也将不起作用。

将您希望下一页获得的数据附加到查询字符串上

<a href="foo.html?bar=123">123</a>
<a href="foo.html?bar=456">456</a>


然后在foo.html上,您可以检查
location.href
以查看传入的内容。这里不需要cookies。

PHP是一种服务器scipring语言,而javascript是客户端语言
您不能真正地让javascript会话使用或由客户端控制。会话使用服务器控制的cookie。Cookie只是驻留在客户机上的小文件。

除非您感到非常无聊,只需制作一个小PHP脚本,通过AJAX加载,以返回$\u服务器变量集合的JSON表示@杰鲁克,我只是建议用那种方法。LOL:p尽管它很简单,但它是一个相当有用的实用程序类型。是的,如果制作一个简单的插件。。这绝对是一个实用工具。我正在尝试,但什么都没有:(只是为了确保我的javascript代码中的$.post在第一页中,而另一个在php中!很明显是lol!但为什么它不工作?:(这是我最后一个链接到不同页面的解决方案!谢谢你的回复,因为数据通过并不重要,谢谢你的问题,尽管Strx的方法是相当直观的,也是一个更通用的解决方案。还有会话存储要考虑(在标签被关闭的数据被破坏)。
//getsession.php
<?PHP
session_start();
echo $_SESSION[$_POST['variable']];
?>
<a href="foo.html?bar=123">123</a>
<a href="foo.html?bar=456">456</a>