大家好,我是javascript菜鸟,请教一个问题?下面有一个javascript函数:
function showLoginPage() {
if (confirm("确定要退出系统吗?")) {
document.write("<%ExitSystem();%>");
window.location.href = '/Login.aspx';
}
}
为什么我的页面一打开的时候,document.write("<%ExitSystem();%>");就执行了呢?我并没有点击触发该方法的 javascript事件啊?
------解决方案--------------------
<%%>
这里面是服务器代码,不是js代码,是服务器执行的,不是浏览器在执行,
也不是加载页面的时候,而是加载之前服务器就把它执行了,用其返回值替换掉<%%>发送到客户端,
所以js调用时使用的是该函数的结果而不是执行该函数
js是浏览器代码,要调用服务器函数必须通讯,这能明白么?所以你的方式不是js调用服务器函数,而是让服务器在把html发给客户端前就把该代码执行了
基础需加强