是否可以在JavaScript中创建会话变量?

时间:2011-04-28 12:54:11

标签: javascript

是否可以在JavaScript中创建和更新会话变量?就像在PHP中一样,我启动会话并初始化会话变量。

我正在使用PHP的一些JavaScript函数。

我只是一个JavaScript初学者,所以请给我一些好书。

5 个答案:

答案 0 :(得分:8)

术语“会话变量”的通常含义是:“存储在服务器上的某些数据,通过令牌与用户的会话相关联。”

假设您正在讨论客户端JavaScript,那么简短的答案是“不”,因为它在错误的计算机上运行。

您可以使用JS向服务器发出HTTP请求,并让服务器端程序将数据存储在会话变量中。

你也可以使用JS在cookie中存储数据(而不是设置到期时间,以便它在浏览器会话结束时到期)

答案 1 :(得分:4)

好吧,看一下会话是如何工作的,不,不能用javascript创建它们。但是,您可以向PHP文件发出一个AJAX请求来设置它。

<强> PHP:

<?php
session_start(); 
$_SESSION['mySession'] = 1;
?>

<强> JS:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "session_maker.php", true);

xmlhttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
        alert("Done! Session created.");
    }
};

答案 2 :(得分:3)

在Javascript中有很多种记录状态的方式 - 没有一种方法特别好/跨浏览器,但你去了。

您可以设置并获取Cookie - http://www.quirksmode.org/js/cookies.html

Window.name存储(sessionvars) - http://www.thomasfrank.se/sessionvars.html - 这是一个非常酷的黑客,但对于任何重要的事情都可能不是一个好主意

HTML5本地存储 - http://diveintohtml5.ep.io/storage.html

服务器端可能就是这里的方式,但是客户端你有几个选择。

答案 3 :(得分:1)

不,会话状态是服务器端。但是,您可以创建PHP可以读取的cookie。

答案 4 :(得分:0)

您可以通过ajax方式使用js从/加载/发布到php脚本,并将会话控制方法写入此php脚本文件。

你可以试试jQuery的$ .ajax()方法,我想这是在前端脚本上实现它的简单方法。