我想请教一下,ASP, JS的执行顺序

 <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 渲染完页面,展现。