初始AJAX简单实例

上一篇 / 下一篇  2007-01-09 13:58:05 / 个人分类:IT技术

使用技术Javascrīpt/AJAX/ASP
需要平台:IIS/IE or FireFox客户端

例子:在文本框中输入E文时会给出匹配E文提示

ajax.html 执行ajax页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX TEST</title>
</head>
<body>
    <scrīpt language="javascrīpt">
    <!--
    var xmlHttp;
    function showHint(){                    //set execute ajax object
        var str = document.getElementById('txt1').value;
        if (str.length > 0)    {
            var url = "ajax_do.asp?q=" + str;
            document.getElementById("txtInner").innerHTML = 'Now Loading...';
            xmlHttp = GetXmlHttpObject(stateChanged);      //send ajax request
            xmlHttp.open("GET", url , true);
            xmlHttp.send(null);
        }else{
            document.getElementById("txtInner").innerHTML = "";
        }
    }
    function stateChanged(){                    //if ajax object active done Output data
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
            document.getElementById("txtInner").innerHTML = xmlHttp.responseText;
        }
    }
    function GetXmlHttpObject(handler){        //create Ajax object function
        var ōbjXmlHttp = null;
        if (navigator.userAgent.indexOf("Opera") >= 0){
            alert("This example doesnt work in Opera");
            return;
        }
        if (navigator.userAgent.indexOf("MSIE") >= 0){
            var strName = "Msxml2.XMLHTTP";
            if (navigator.appVersion.indexOf("MSIE 5.5") >= 0){
                strName = "Microsoft.XMLHTTP";
            }
            try{
                ōbjXmlHttp = new ActiveXObject(strName);
                objXmlHttp.onreadystatechange = handler;
                return objXmlHttp;
            }catch(e){
                alert("Error. scrīpting for ActiveX might be disabled");
                return;
            }
        }
        if (navigator.userAgent.indexOf("Mozilla") >= 0){
            ōbjXmlHttp = new XMLHttpRequest();
            objXmlHttp.onload = handler;
            objXmlHttp.onerror = handler;
            return objXmlHttp;
        }
    }
    -->
    </scrīpt>
    <form id="Fm">
        First Name:<input type="text" id="txt1" ōnkeyup="showHint();">
    </form>
    <p>Suggestions: <span id="txtInner"></span></p>
</body>
</html>


ajax_do.asp 处理发送的请求页面
<%@LANGUAGE="VBscrīpt" CODEPAGE="65001"%>
<%
dim a(30)
a(1)="Anna"
a(2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona"
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a(11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20)="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29)="Wells"
a(30)="Vicky"
q=request.querystring("q")
if len(q)>0 then
    hint=""
    for i=1 to 30
        x1=ucase(mid(q,1,len(q)))
        x2=ucase(mid(a(i),1,len(q)))
            if x1=x2 then
                if hint="" then
                    hint=a(i)
                else
                    hint=hint & " , " & a(i)
                end if
            end if
    next
end if
if hint="" then
    response.write("<font color=#FF0000>no suggestion</font>")
else
    response.write(hint)
end if
%>

设置好路径后用浏览器访问ajax.html在文本框中输入E文....

还可以下一个 prototype.js包里面封装了ajax的功能,我们可以很方便使用它来简化代码
prototype.js包含进ajax.html后原先的脚本代码全改成如下
<scrīpt language="javascrīpt">
<!--
function showHint(){
    var param=$('txt1').value;
    if (param.length > 0){
        $('txtInner').innerHTML='On Loading...';
        new Ajax.Updater("txtInner", 'ajax_do2.asp',{method:'get',parameters:'q='+param});
    }else{
        $('txtInner').innerHTML='';
    }
}
-->
</scrīpt>



TAG: IT技术

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-24  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 1493
  • 日志数: 27
  • 图片数: 3
  • 书签数: 7
  • 建立时间: 2007-01-08
  • 更新时间: 2008-02-27

RSS订阅

Open Toolbar