<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    世事如棋
    Aspire to Professionalism
    posts - 4,  comments - 12,  trackbacks - 0
    去年開始看AJAX時候所寫的第一個小程序,整理了下。應該算AJAX最簡單的應用了。
    ?
    首先,演示一下實際運行的效果。點擊彈出新頁面中的“See Author”鏈接,你將會看到該頁面作者。從頁面提交到顯示從服務器獲得的結(jié)果,這段過程你將不會發(fā)現(xiàn)頁面的重刷新。
    下面給出該示例的代碼:
    1. ajax.html
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>A simple AJAX example</title>
    <script type="text/javascript"><!--
    ? function findAuthor(file){
    ???? var xmlObj = null;
    ??? ?if(window.XMLHttpRequest){
    ???? ?? xmlObj = new XMLHttpRequest();
    ?? ? } else if(window.ActiveXObject){
    ????? ?? xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
    ?? ? } else {
    ????? return;
    ? ? }
    ?? ?xmlObj.onreadystatechange = function(){
    ???? ? if(xmlObj.readyState == 4){
    ?????? ??? updateObj('author',
    ?????? ?xmlObj.responseXML.getElementsByTagName('name')[0].firstChild.data);
    ??? ?? }
    ?????}
    ??? xmlObj.open ('GET', file, true);
    ??? xmlObj.send ('');
    ? }
    ? function updateObj(obj, data){
    ?? var textNode = document.createTextNode(data);
    ?? document.getElementById(obj).appendChild(textNode);
    ? }
    ? //--></script>
    </head>
    <body>
    <h1>A simple AJAX program</h1>
    <p id="obj">This page is powered by <a id='link' href="data.xml"
    ?title="View the author."
    ?onclick="findAuthor('data.xml'); this.style.display='none'; return false">See
    Author.</a><span id="author" style="color: olive; font-weight: bolder"></span></p>
    </body>
    </html>

    ?

    2.data.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <author>
    ?<name>www.jsfchina.org</name>
    </author>

    ?

    解析下。

    該例應該算是最簡單的ajax應用了。為了盡求簡單性,這里沒有使用到任何服務器端技術,諸如servlet,cgi等等。這里并沒有使用到任何業(yè)務方法,而是直接從服務器的一個xml文檔(data.xml)中讀取數(shù)據(jù)。為了簡潔性,本例將JavaScript文件也集成到了ajax.html中,實際應用中完全可以獨立出去使用。

    該例通過點擊鏈接,激發(fā)了一個javascript的方法然后進行交互處理。

    AJAX的核心是XMLHttpRequest,本例通過下列代碼創(chuàng)建這個對象

    ? var xmlObj = null;
    ? if(window.XMLHttpRequest){
    ????? xmlObj = new XMLHttpRequest();
    ? } else if(window.ActiveXObject){
    ????? xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
    ? } else {
    ????? return;
    ? }

    if(window.XMLHttpRequest)處理了瀏覽器是mozilla的情況,而if(window.ActiveXObject)則處理了瀏覽器為IE的情況,目的都是一個:創(chuàng)建了一個XMLHttpRequest對象。創(chuàng)建這個對象的目的就是讓XMLHttpRequest對象與服務器交互,而不影響用戶正在瀏覽的頁面。這也是AJAX稱謂的由來,異步javascript交互xml處理。

    創(chuàng)建好XMLHttpRequest對象之后,調(diào)用的函數(shù)將會監(jiān)聽該對象狀態(tài)的變化,即onreadystatechange屬性。XMLHttpRequest對象有5個狀態(tài),從0-4的整數(shù),也就是說onreadystatechange調(diào)用的函數(shù)(示例中function(){...})將會執(zhí)行4次。示例中我們在該對象處于完成狀態(tài)(readyState=4)時進行處理(此時服務器已經(jīng)傳回所有信息),為id為“author”的span對象添加了一個textNode節(jié)點,該textNode是data.xml文檔中name節(jié)點的第一個子元素的值。

    好了,這就是完成一次異步交互所需要的步驟。

    以下是一些注意點。

    第一,本例中使用的http的GET方法,你也可以使用POST,但是要設定Content-Type值,即xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),這個方法用來設置了MIME類型。還有一點要注意,這些方法最好都大寫,否則在firefox下將沒有作用。

    第二,xmlObj.open ('GET', file, true)。該方法會建立與服務器的鏈接,‘GET’指明了http調(diào)用方法;file指明了調(diào)用的url;true指明了該調(diào)用是異步處理,可以省略,默認為'true'。

    第三,xmlObj.send(para)向服務器發(fā)出請求。是以POST向服務器發(fā)出request,其參數(shù)格式為:name=namevalue&so=on。(參考注意點一)

    ?

    轉(zhuǎn)貼注明出處www.jsfchina.org
    posted on 2006-04-04 09:54 KingWell 閱讀(1284) 評論(2)  編輯  收藏 所屬分類: AJAX和web2.0

    FeedBack:
    # re: 一個簡單的ajax實例
    2006-04-04 14:09 | 405 Studio
    我這菜鳥受益了,感謝樓主:)  回復  更多評論
      
    # re: 不好意思
    2006-04-05 16:25 | 111
    不要意思,我要做一個試驗,  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    歡迎訪問我的網(wǎng)站
    JSF中國

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我的資源

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 又粗又大又硬又爽的免费视频| 亚洲字幕AV一区二区三区四区| 午夜视频在线在免费| 男人进去女人爽免费视频国产| 日本亚洲中午字幕乱码| 亚洲另类小说图片| 亚洲国产精品乱码一区二区| 亚洲精品在线视频| 日韩人妻无码免费视频一区二区三区 | 国产亚洲男人的天堂在线观看| 亚洲人色大成年网站在线观看| 亚洲av日韩av高潮潮喷无码| 亚洲乱码精品久久久久..| 全部免费a级毛片| 国产麻豆剧传媒精品国产免费| 久久精品网站免费观看| 日本免费网站视频www区| 99国产精品免费视频观看| 中文在线观看免费网站| www免费黄色网| 国产精品hd免费观看| 免费国产va视频永久在线观看| 亚洲中文无码永久免| 国产 亚洲 中文在线 字幕 | 69国产精品视频免费| 国产精品视频白浆免费视频| 中文字幕免费在线看| 国产免费久久久久久无码| 中文字幕在线免费看| 中文字幕在线免费视频| 高清永久免费观看| 怡红院免费全部视频在线视频| 中文字幕在线视频免费| a级午夜毛片免费一区二区| 国产精品网站在线观看免费传媒| 97无码人妻福利免费公开在线视频| 在线观看免费无码专区| 污污网站免费观看| 国产精彩免费视频| 免费精品一区二区三区在线观看 | 免费在线观看一区|