主题:[原创]利用JS实现静态页动态调用数据(非AJAX)
本文链接:http://user.qzone.qq.com/21541270/blog/1200513462
前几天网站技术讨论群(3316653)里有人问我一个关于点击链接以后背景改变的问题
一开始我还以为是ASP的页面,结果他发给我的竟然是HTML页和一个ASP页
于是我想应该是AJAX的无刷新
打开HTML一看.原来是<script language="javascript" type="text/javascript" src="getnews.asp?id=1"></script>
原来是一个普通的JS的引用
其实这个问题确实难倒过不少人,就算是一些会AJAX或是技术相对来说非常成熟的人在遇到这个问题时也会感到棘手.因为很多人都很少遇到会用JS去操作SCRIPT的.
我在网上查阅了一些相关资料,有人说用<DIV>层将JS包含起来.然后用JS事件触发改变SCRIPT的值
这种方法看似可行.实则不行,因为在JS中是不会允许你往DIV的INNERHTML中写入像<script>这样的字符的.至于为什么,我不知道,就好像你问我为什么HTML不能写VB脚本一样.这是一开始就定义好的规则,所以这样是严重错误的.
在查阅了很多相关资料以后.终于找到一个办法,可以操作SCRIPT控件,这是一件让人欣喜的事,因为这个发现可以让我们在不是非常必要用AJAX的地方改用JS引用,这样可以大大的节省内存和页面执行时间
首先我们定义一个1.asp页
<%
id=request("id")
response.Write "document.write('"
for i=1 to id
response.Write "★"
next
response.Write "');"
%>
让他根据参数来显示星星的数量
然后写1.html
<script language="javascript" type="text/javascript" src=""></script> //首先定义一个空的JS引用
<script language="javascript" type="text/javascript">
function getstar(i){
document.scripts[1].src ="222.asp?id=" + i;
}
getstar(2);
</script>
//然后利用getstar向JS引用中写入SRC的值
<a href="javascript:getstar(1);">1</a> <a href="javascript:getstar(2);">2</a>
这样就OK了
如果你真的以为这样就OK了的话就错了 //转载请声明青灯下的木鱼(http://www.gu916.cn)版权所有
试着运行一下吧..对不起无法打开站点,操作已终止
为什么呢?
欲知详情,到我的个人主页去看,地址:[url=http://www.gu916.cn/newsxx.asp?ID=69]http://www.gu916.cn/newsxx.asp?ID=69[/url]
前几天网站技术讨论群(3316653)里有人问我一个关于点击链接以后背景改变的问题
一开始我还以为是ASP的页面,结果他发给我的竟然是HTML页和一个ASP页
于是我想应该是AJAX的无刷新
打开HTML一看.原来是<script language="javascript" type="text/javascript" src="getnews.asp?id=1"></script>
原来是一个普通的JS的引用
其实这个问题确实难倒过不少人,就算是一些会AJAX或是技术相对来说非常成熟的人在遇到这个问题时也会感到棘手.因为很多人都很少遇到会用JS去操作SCRIPT的.
我在网上查阅了一些相关资料,有人说用<DIV>层将JS包含起来.然后用JS事件触发改变SCRIPT的值
这种方法看似可行.实则不行,因为在JS中是不会允许你往DIV的INNERHTML中写入像<script>这样的字符的.至于为什么,我不知道,就好像你问我为什么HTML不能写VB脚本一样.这是一开始就定义好的规则,所以这样是严重错误的.
在查阅了很多相关资料以后.终于找到一个办法,可以操作SCRIPT控件,这是一件让人欣喜的事,因为这个发现可以让我们在不是非常必要用AJAX的地方改用JS引用,这样可以大大的节省内存和页面执行时间
首先我们定义一个1.asp页
<%
id=request("id")
response.Write "document.write('"
for i=1 to id
response.Write "★"
next
response.Write "');"
%>
让他根据参数来显示星星的数量
然后写1.html
<script language="javascript" type="text/javascript" src=""></script> //首先定义一个空的JS引用
<script language="javascript" type="text/javascript">
function getstar(i){
document.scripts[1].src ="222.asp?id=" + i;
}
getstar(2);
</script>
//然后利用getstar向JS引用中写入SRC的值
<a href="javascript:getstar(1);">1</a> <a href="javascript:getstar(2);">2</a>
这样就OK了
如果你真的以为这样就OK了的话就错了 //转载请声明青灯下的木鱼(http://www.gu916.cn)版权所有
试着运行一下吧..对不起无法打开站点,操作已终止
为什么呢?
欲知详情,到我的个人主页去看,地址:[url=http://www.gu916.cn/newsxx.asp?ID=69]http://www.gu916.cn/newsxx.asp?ID=69[/url]