js取session值

js取session值,第1张

一般的做法,是在提交后做验证。

如果你非要在提交前做验证,那你只能是把旧密码先放到页面中,或者定义一个变量,或者放到一个隐藏域中

<input type="hidden" value="<%=你从Session中取得的密码%>" name="checkold" name="checkold">

然后在js中判断输入的密码和这个隐藏域的值是否一样。

但是说真的,这样做真的很不好,相当于把密码暴露了。最好在提交后做验证。

具体输入数值如下:

>

设置sessionsetAttribute("username",变量名);

获取sessiongetAttribute("username");

js简介:

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

这种只能够再后台服务器代码里面设置一个方法,在前端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");

}

}

我一般是在jsp中写个隐藏input标签,value设置为session的值,比如:

<input type="hidden" id="name" value="${name}"/>

js再通过id获取input的值即可

1、首先解释一下你的疑问,为何取不到最新的session值。\x0d\javascript是无法获取服务器session中的值的。js只是脚本语言,session是jsp里的对象。\x0d\使用el表达式获取值,是在编译jsp的时候完成的。编译完成后,就发送到浏览器了。浏览器执行的html页面中的值是固定的。\x0d\function readSession(){\x0d\ var data = "123"; //编译jsp的时候,el表达式获取值${sessionScopemacData}已经被替换成具体的值了\x0d\\x0d\}\x0d\所以,以后无论多少次获取data,都是123。你可以在浏览器中右键查看生成的html页面,就明白了。\x0d\2、如何解决这个问题。\x0d\\x0d\可以将macData的值,已json或xml或纯文本的方式发送给前台。使用ajax的方式获取。\x0d\这里假设你使用了json的方式, responsegetWriter()print("{ macData: 具体的值 } ");\x0d\\x0d\jquery代码:\x0d\function loadData(){\x0d\ $get("请求url",function(result){\x0d\ $("#content")html(resultmacData);\x0d\\x0d\ });\x0d\\x0d\}

以上就是关于js取session值全部的内容,包括:js取session值、如何将js的变量值存入session、js怎么获得服务器端的session id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存