1、asp是运行在服务器端的,js是运行在客户端即浏览器中的;
2、执行顺序是先asp,然后才是js
因此,要想把js的变量值传递给asp变量,就要把当前页面重新刷新运行一次,同时把js的变量值作为url的参数传递给后台的asp代码,然后asp的变量再通过request对象获取即可。比如:
<%
if request("abc")<>"" then
abc=request("abc")'这个abc是asp变量
response.write "js传递的变量内容为:" &abc
else
%>
<script>
var abc=123 //这个abc则是js变量
location.href="?abc="+abc
</script>
<%
end if
%>
asp运行于后台服务器,js运行于前台浏览器,asp先于js运行,因此要想把js变量的值传递给asp,就要重新启动一个http连接,这就会造成当前页面重新刷新(或者新开一个页面),就跟表单提交一样。下面是个例子:<script>
var x = 100//要把这个变量传递给asp
location.href = "?x="+x//重新打开当前页面(附加参数)
</script>
<%
if request("x")<>"" then x = request("x")
'这样asp就获得了这个js传来的值,当然是在页面刷新以后
%>
如果是反过来asp的变量传递给js,那就简单的多了,无须刷新,直接赋值:
<%
x = 100 '要把这个变量传递给js
%>
<script>
var x = <%=x%>//这样js就直接获得了这个变量的值
</script>