不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术 |
本文标签:ASP+JS,无刷新 网上流传的什么<<AJAX vs ASP传统无刷新>>中的ASP无刷新,加个IFRAME,弄个JS根本不能称之为无刷新..... 一下代码未区分大小写,请自行修改! 全静态无刷新思路: <HTML> <SCRIPT SRC=""></SCRIPT>//当前页面全局的 无数新调用 <SCRIPT> //一系列JS调用 FUNCTION XX(FUN_NAME,PARAMETER_NAME,PARAMETER_VALUE)//参数自己设定 { DOCMENT.SCRIPTS[0].SRC=AJAX.ASP?+PARAMETER_NAME+=+PARAMETER_VALUE;//参数以此类推 } </SCRIPT> <BODY> //示例调用一,直接调用ASP 我的数据库有<SCRIPT SRC="GET_COUNT.ASP?ID=XXX"></SCRIPT>条 //示例调用二,事件调用AJAX.ASP 我的数据库有<LABEL ID="COUNT"></LABEL>条<INPUT TYPE="BUTTON" ONCLICK="JAVASCRIPT:XX(COUNT,ID,DOCUMENT.ALL.ID.VALUE);"> </BODY> </HTML> //示例二中AJAX.ASP代码 <% SET RS = CONN.EXECUTE(SQL_STR) RESPONSE.WRITE "DOCUMENT.GETELEMENTBYID(COUNT).VALUE = "&RS("COUNT")&"" %> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 以下省略部分HTML代码,只说明思路 //示例三 FORM表单ONSUBMIT事件调用AJAX.ASP <SCRIPT SRC=""></SCRIPT>//这句是必须的 <SCRIPT> function CHECK() { alert(1); //document.getElementByID("") document.scripts[0].src = "AJAX.ASP?a="+escape(document.getElementById(T1).value);//这里给第一个script.src赋值 alert(document.scripts[0].src);//查看测试地址是否正确 return false; } </SCRIPT> <FORM METHOD="POST" ACTION="" ONSUBMIT="return CHECK();" NAME="FORM1"> <INPUT TYPE="TEXT" NAME="T1" ID="T1"> <INPUT TYPE="SUBMIT" VALUE="SUBMIT" > </FORM> //示例三AJAX.ASP代码 <% RESPONSE.WRITE "alert("&request("a")&");"//////或者写response.write "document.getelementbyid(id).innerhtml=某些html代码;" %> ////////////////////////////////////////////////////////////////////////////////////////////////// 优点: 此种无刷新方法对比AJAX技术的优势在于,这种方法所需要编写的代码更少,更简洁,开发速度更快,不用书写过于庞大复杂的JS判断,同样利用JS,但没有用到DOM XML,同样有跨平台的优势,能达到AJAX同样的用户体验效果,可以和AJAX同时使用,不同功能的实现代码书写模式和流程,几乎相同,更易提高代码复用性,事实上只需建立2个文件就可以实现网站各种不同的功能 缺点: 因为此技术完全依靠JS给URL或者COOKIES赋值,然后通过URL和cookies传参,但URL和cookies参数大小和长度是有所限制的,所以无法像AJAX那样传送大量信息除非仿照AJAX或直接用AJAX完成,不过我相信会找到更好的解决方案 |