如何使用Javascript获取Session变量值

How do I get Javascript to get a Session variable value

本文关键字:Session 变量值 获取 Javascript 何使用      更新时间:2023-09-26

我从上一页加载了一个会话变量,然后我有一个带有"选择"框的表单,允许用户使用自己的名字、名字和姓氏或别名签署文档。当选择该选项时,它将激活以下功能,该功能可以正常工作。。。

function jsignature()
{
var nsignature = document.getElementsByName("isignature")[0].value;
var signaturelist = [ "None Selected", "First name", "First & Lastname", "Known As" ];
var osignature = signaturelist[nsignature];   
document.getElementById("esign").innerHTML = osignature;
}

然而,我自然不想要"名字"之类的词,我想要真正的名字。

我尝试了以下方法,我在3或4个网站上看到了这个确切问题的答案。。。

function jsignature()
{
var nsignature = document.getElementsByName("isignature")[0].value;
var fname = '<%=Session["firstname"]%>';
var signaturelist = [ "None Selected", fname, "First & Lastname", "Known As" ];
var osignature = signaturelist[nsignature];   
document.getElementById("esign").innerHTML = osignature;
}

但输出不是存储在我的会话cookie"firstname"中的值,输出实际上是"<%=session["firstname"]%>"

我也试过。。。

var fname = <%=Session["firstname"]%>;
var fname = %=Session["firstname"]%;
var fname = Session["firstname"];

有人能帮忙吗?

编辑:针对"重复"问题,我的问题是会话变量,而不是PHP变量,尽管我的解决方案是PHP变量,但我的解决方法与所谓的重复问题的解决方案不同。

您不能使用Jquery访问会话。因为Session在服务器端,Jquery在客户端工作。

您可以做的是将会话存储在隐藏字段中,然后使用Jquery访问它。

下面的代码是剃刀存储值隐藏字段:

<input type="hidden" id="hdnSession" data-value="@Request.RequestContext.HttpContext.Session["someKey"]" />

您可以使用Jquery获取值,如下所示:

var sessionValue= $("#hdnSession").data('someKey');

如果你想在加载时获得会话值,那么它可能是

var someKey = '@Request.RequestContext.HttpContext.Session["someKey"]';

注意:一旦页面加载,您就无法使用jquery获取会话值。但你可以在加载时获得它的价值。

我正在使用php,在我的页面顶部,我有$firstname=$_SESSION["firstname"];-我能以某种方式将其转移到JS吗?

?><script type="text/javascript">
  var firstname = <?php echo json_encode($firstname); %>;
</script><?php