怎样在html页面中取得session中的值

怎样在html页面中取得session中的值,第1张

怎样在html页面中取得session中的值?

方法如下:

1.首先呢session的key-value都是存在server的,浏览器HTML页面是没有办法直接取得session中的值,只有在html里能通过js拿到jesessionid之类的东西。

1.1、数据量如果小,可以考虑放到cookie里,传到客户端,html里用js就可以拿到。

1.2、如果数据量大,可以考虑单独做一个jsp或servlet,根据传来的session的key,返回序列化的session的值,比如json之类的。html里用js通过ajax获取。这种方式复杂了点,多一次远程访问,但是灵活方便。

如:<input type="text" value='<%#Session["username"]%>'>

2.或者得通过后台才能获取,session是存在服务器端的,如果你用cookie的话,可以通过js获取。

比如:写个webservice ajax获取你要的session值 或者 利用利用模板语言输出。

3.用response.sendRedirect("a.html?param=hello")用下面的JS方法

如:var v=getUrlParameter('param')

function getUrlParameter( name ){

name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]")

var regexS = "[\\?&]"+name+"=([^]*)"

var regex = new RegExp( regexS )

var results = regex.exec(window.parent.location.href )

if( results == null )return "" else {

return results[1]

}

}

以上几种方法在html页面中取得session中的值.

<input type="hidden" id=sess name="hiddenField" value=<%=session("userid")%>>

<script>

function jc()

{

if (document.getElementById("sess").value=="")

{

alert("用户未登录!")

//下面放停止执行代码

}

else

{

document.write(sess.value)

}

}

</script>

动态文件用SESSION的话直接就行:

<%

response.write(session("userid"))

%>

采用ajax执行远程的PHP文件 然后返回到HTML页面上。

function checkUserName(){

hiddenDiv(info_001)//隐藏提示

if(document.theform.Username.value.length>10||document.theform.Username.value.length<2)

{

err_001.style.display="block"

//document.theform.Username.focus()

return false

}else{

err_001.style.display="none"

var Username=theform.Username.value

//调用AJAX检查用户名是否重复

getMyHTML("CheckAjax.asp?action=Username&Str="+Username,"ajaxDiv_Username")

//window.alert(Username)

var obj = document.getElementById("ajaxDiv_Username")

if(obj.innerHTML.indexOf("可以")==-1)

{

//window.alert("Unamenotok")

return false

}else{

return true

}

}

}

<script language="javascript">

//创建XMLHttpRequest对象

function getMyHTML(serverPage, objID) {

//window.alert(serverPage)

var ajax = GetO()

//得到了一个html元素,在下面给这个元素的属性赋值

var obj = document.all[objID]

//设置请求方法及目标,并且设置为异步提交

ajax.open("post", serverPage, true)

ajax.onreadystatechange = function()

{

if (ajax.readyState == 4 &&ajax.status == 200)

{

//innerHTML是HTML元素的属性,如果您不理解属性那就理解为HTML元素的变量

//ajax.responseText是服务器的返回值,把值赋给id=passport1的元素的属性

//innerHTML这个属性或说这个变量表示一组开始标记和结束标记之间的内容

obj.innerHTML = ajax.responseText

}

}

//发送请求

ajax.send(null)

}

function GetO()

{

var ajax=false

try{

ajax = new ActiveXObject("Msxml2.XMLHTTP")

}catch (e){

try{

ajax = new ActiveXObject("Microsoft.XMLHTTP")

}catch (E){

ajax = false

}

}

if (!ajax &&typeof XMLHttpRequest!='undefined')

{

ajax = new XMLHttpRequest()

}

return ajax

}

</script>

你在后台处理页面CheckAjax.asp,验证的时候。如果可以注册,就输出一个字符包含“可以”的字符串,不可以的,就不包含“可以”字符串

if(obj.innerHTML.indexOf("可以")==-1)

{

//window.alert("Unamenotok")

return false

}else{

return true

}

代码中这一段就是在做判断。


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

原文地址: http://outofmemory.cn/zaji/6094765.html

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

发表评论

登录后才能评论

评论列表(0条)

保存