当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术

Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
用Javascript读取中文COOKIE的解决办法
功能很全的精品JS计算器
永不消失的title提示代码
一直复略了的一个问题,关于表单重复提交
初探jquery——表单应用范例
懒就要懒到底——鼠标自动点击(含时间判断)
关于表单的两点交互体验改进技巧
javascript知识点收藏
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
如何使页面打开时input就被选中?
点选TOP后并不是直接跳到页顶的,而是滚动上去的
js玩一玩WSH吧
【最新漏洞】IE中使用Rds.DataSpace下载并运行病毒文件
select选择事件问题
SUN的《AJAX与J2EE》全文译了
你真的了解JavaScript吗?
极酷的javascirpt,让你随意编辑任何网页
用javascript编写的第一人称射击游戏
轻轻松松学习JavaScript

Javascript 中的 不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 220 ::
收藏到网摘: n/a

注明:以下方法都经过实例和开发的长期验证,其实这些技术早就有,今天只不过自己归纳一下 网上流传的什么<<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完成,不过我相信会找到更好的解决方案