<html>
<head>
引入JQ 略
<script>
$.ajax({
url : “temp.asp”,
data:{"w":screen.width},// temp.asp页面中,将接收到的值写入session("w")
cache : false,
async : false,//同步
type : "get",
dataType : 'html',
error: function(){ //失败
alert('请求失败!');
},
success : function (data){
if (data=="ok")
{
}
else
{alert("错误信息:"+data);
}
}
});
</script>
</head>
<body>
<%
response.write session("w")
%>
为什么这里得不到 session("w")的值呢?刷新页面才可以显示,刷新再显示就没有意义了。
是不是跟执行顺序什么的有关系,有大神解答一下吗?
</body>
</html>
自己顶一下, 请大神解答一下、。
$.ajax
这里会先于response.write session("w")执行
既然先执行了,而且我设置是同步,那么下面就应该得到 session("w")的值啊。
temp.asp的代码是 session("w") = request.QueryString("w")
应该设置成异步才对,同步的话你那里的数据还没产生你就截取了,后面再rep⋯⋯当然没数据
success是异步的,在数据返回以后执行,具体什么时候执行,不知道。
肯定是asp先执行,你需要了解http访问的流程。
1 用户访问url
2 服务器首先执行asp网页中的asp代码,生成静态的html页;
3 将静态页返回到浏览器,这时候javascript代码才会(在浏览器)执行;
4 渲染完页面,展现。