js脚本文件访问session

js脚本文件访问session,第1张

我猜你大概是遇到类似下面的情况:

有一个用户登陆了网站之后,服务器端把用户信息(比如用户名)保存在了服务器端的session中,然后在一个页面中,js脚本可能调用到这些用户信息,于是你就问怎样才能用js访问session

如果是上面的情况,那么很好解决

由于session是保存在服务器端的,客户端无法更改或者读取到session,你想想,要是客户端能更改了,那我把我的session权限更改为管理员或者自己想要的,不是可以为所欲为了吗

不过,仅仅是传递给js让js来使用是可以的那么如何将session信息传递给js呢答案就是在php页面中直接为js变量赋值比如我想让js脚本中的一个变量 a 等于 $_SESSION['user']中的值,那么就可以这么写php代码:

echo "<script>var a = '"$_SESSION['user']"';</script>";

简单地说,直接把这个值打印出来赋值到js脚本的变量中去就行了

这样就简单地实现了php(服务器端)向js(客户端)传值

js是没有办法获取SESSION的, 因为它只是客户端的脚本,SESSION是服务端的如果想要获取SESSION 而不刷新页面就需要AJAX, 用JS 使用AJAX 获取服务端的SESSION

这有可能是因为ajax请求的时候没有把session的id带回去,造成了session丢失

造成这种情况的原因可能是:

1浏览器不支持cookie

2ajax发送的时候信息不完全

你可以尝试

在ajax请求的时候把session的id带回去

获取后台session的id,可以在js用documentcookie获取,至于session的键值,则可以用浏览器的控制台抓包获取(例如,php的session的cookie默认值为PHPSESSIN)

这种只能够再后台服务器代码里面设置一个方法,在前端Ajax请求的时候,进行返回sessionId信息了。因为不知道具体的语言所以所得比较笼统(比如:Java的话可能会说再action层写一个AJAX处理的方法;PHP不是很好说一般是controller层中写)

正如楼上两位大哥说的

JS 属于客户端的东西,而 Session 属于服务器端的东西

其存放在客户端的数据时加密了的

不能直接获取,我们智能手动来指定

我的思路是这样的:

判断要获取的 Session 不为空的话

就把Session 的值付给一个隐藏的控件

然后通过js获取这个控件的值(已测试通过)

======部分代码=======

(1)第一个页面,

上面有一个文本框(ID:txtName)和一个提交按钮(ID:BtnOK)################################

protected void BtnOK_Click(object sender, EventArgs e)

{

Session["UserName"] = thistxtNameText;

ResponseRedirect("WebForm1aspx");

}

(2)跳转到的页面:WebForm1aspx#######################

<script type="text/javascript">

function mf() {

var v = documentgetElementById("hidd")value;

if (v != undefined) {

alert("Value is : " + v);

}

}

</script>

<form id="form1" runat="server">

<div>

<asp:HiddenField ID="hidd" runat="server" />

<button type="button" id="btnGetValue"onclick="mf()">Get Value</button>

</div>

</form>

##############WebForm1aspxcs 代码:#################

protected void Page_Load(object sender, EventArgs e)

{

if (Session["UserName"] != null)

{

hiddValue = Session["UserName"]ToString();

}

else

{

ResponseWrite("Null");

}

}

以上就是关于js脚本文件访问session全部的内容,包括:js脚本文件访问session、js怎样获取session值 在登录页面中、ajax servlet中的session问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9783027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存