一般的做法,是在提交后做验证。
如果你非要在提交前做验证,那你只能是把旧密码先放到页面中,或者定义一个变量,或者放到一个隐藏域中
<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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)