是否可以在JavaScript中创建和更新会话变量?就像在PHP中一样,我启动会话并初始化会话变量。
我正在使用PHP的一些JavaScript函数。
我只是一个JavaScript初学者,所以请给我一些好书。
答案 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()方法,我想这是在前端脚本上实现它的简单方法。