zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

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