方法如下:
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()
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
}
代码中这一段就是在做判断。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)