Ajax技术的优势到底在哪里呢,不明白。看一个最简单的例子,假设用户注册的时候,判断用户输入的名字是否已经被占用,假设输入数字1:显示OK(表示正确,可以使用);输入其他字符:显示Error (表示错误,已经被占用)。
用ajax技术实现
代码: t.htm
<s cript>
function f(){
var req =new ActiveXObject(Microsoft.XMLHTTP);
req.open(GET,t.asp?t1=+t1.value, true);
req.onreadystatechange = function(){
if (req.readyState == 4) {
if (req.status == 200) {
msg.innerText = req.responseXML.documentElement.tagName;
}
}
}
req.send(null);
}
</s cript>
<div>1:显示OK; 其他字符:显示Error</div>
<input id=t1 value=1>
<input type=button value=检测 onclick=
javas cript:f()>
<div id=msg></div>
代码:
t.asp
<%
Response.ContentType=text/xml
if request.querystring(t1)=1 then
response.write(<OK/>)
else
response.write(<ERROR/>)
end if
%>
传统的asp无刷新技术
代码t.htm
<s cript>
function f(){
document.getElementById(o).src=http://edu.admin5.com/article/20070416/t.asp?t1=+t1.value
}
</s cript>
<div>1:显示OK; 其他字符:显示Error</div>
<input id=t1 name=1 value=1>
<input type=button value=检测 onclick=javas cript:f()>
<div id=msg></div>
<iframe src=http://edu.admin5.com/article/20070416/t.asp style=display:none id=o></iframe>
代码t.asp
<%
if request.querystring= then response.end
ss=ERROR
if request.querystring(t1)=1 then ss=OK
%>
<s cript>parent.msg.innerText=<%=ss%></s cript>
两者都是无刷新提取服务器(
数据库)数据并实时显示在客户段,那为什么现在都要用 ajax呢,还要考虑中文编码等麻烦问题。ajax到底好在哪里,请高手详细说说,我可是一知半解,还没有领会到 ajax的妙处。
在这里,我们暂时只讨论 ajax 调用同域下的asp文件(也就是说自己写的asp程序),小偷程序,偷取新闻,天气预报等应用技术暂时不讨论,例子写得很简,没有进行错误处理等,仅为讨论之用。