成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 如何使用ajax開發(fā)web應用程序第1/2頁

如何使用ajax開發(fā)web應用程序第1/2頁

熱門標簽:上海浦東騰訊地圖標注位置 遼寧銀行智能外呼系統(tǒng) 姜堰電銷機器人 海南銀行智能外呼系統(tǒng)商家 澳大利亞城市地圖標注 遼寧正規(guī)電銷機器人 辰溪地圖標注 電銷機器人違法了嗎 許昌智能電銷機器人公司

作者: Jonathan Fenocchi
時間:2005.10.25
譯者:Sheneyan
英文原文:
http://webreference.com/programming/javascript/jf/column12/index.html

在過去,由于為了獲得新數(shù)據(jù)而不得不重新加載web頁面(或者加載其他頁面)導致web應用程序發(fā)展被限制。雖然有其他方法可用(不加載其他頁面),但是這些技術(shù)都沒有被很好地支持而且有bug成災的趨向。在過去的幾個月里,一個過去并不被廣泛支持的技術(shù)已經(jīng)被越來越多的web沖浪者(web surfers??是指瀏覽器還是瀏覽者?)所接受,它給了開發(fā)者更多的自由開發(fā)先進的web應用程序。這些通過javascript來異步取得xml數(shù)據(jù)的應用程序,被親切的稱為“Ajax應用程序”(Asynchronous Javascript and XML applications)。在這篇文章中,我將會解釋如何通過Ajax來取回一個遠程的XML文件并更新一個web page,并且隨著這個系列的繼續(xù),我將討論更多的方法,使用ajax技術(shù)將你的web應用程序提升到一個新的層次.

這第一步就是創(chuàng)建一個帶一些數(shù)據(jù)的XML文件。我們將這個文件命名為data.xml。它是一個簡單的XML文件,而在一個真實的程序中,它會復雜許多,但對于我們的例子來說,簡單明了是最合適地。

?xml version="1.0" encoding="UTF-8"?> root> data> 這是一些示例數(shù)據(jù),它被保存在一個XML文件中,并被JavaScript取回。 /data> /root>

現(xiàn)在讓我們創(chuàng)建一個簡單的web頁面包含一些示例數(shù)據(jù)。這個頁面將是我們的js腳本所在,并且這個頁面將會讓用戶們訪問柄看到Ajax腳本的運行。我們把它命名為ajax.html

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
html lang="zh" dir="ltr">
  head>
    meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    title>使用ajax開發(fā)web應用程序 - 示例/title>
  /head>
  body>
    h1>使用ajax開發(fā)web應用程序/h1>
    p>這個頁面演示了AJAX技術(shù)如何通過動態(tài)讀取一個遠程文件來更新一個網(wǎng)頁的內(nèi)容--不需要任何網(wǎng)頁的重新加載。注意:這個例子對于禁止js的用戶來說沒有效果。/p>
    p id="xmlObj">
    這是一些示例數(shù)據(jù),它是這個網(wǎng)頁的默認數(shù)據(jù) a href="data.xml"
    title="查看這個XML數(shù)據(jù)." onclick="ajaxRead('data.xml'); this.style.display='none'; return false">查看XML數(shù)據(jù)./a>
    /p>
  /body>
/html>

注意,對于那些沒有javascript的用戶,我們直接鏈接到data.xml文件。對于那些允許運行javascript的用戶,函數(shù)“ajaxRead”將被運行,這個鏈接被隱藏,并不會被轉(zhuǎn)向到那個data.xml文件。函數(shù)“ajaxRead”現(xiàn)在還沒定義。所以如果你要檢驗上面的示例代碼,你會得到一個javascript錯誤。讓我們繼續(xù)并定義這個函數(shù)(還有其他的),讓你能夠看到ajax是如何工作的,下面的腳本要放到你的head標簽里:

script type="text/javascript">!--
function ajaxRead(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('xmlObj', xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data);
     }
    }
    xmlObj.open ('GET', file, true);
    xmlObj.send ('');
  }
  function updateObj(obj, data){
   document.getElementById(obj).firstChild.data = data;
  }
  //-->/script>

這堆代碼有點多,讓我們一點點的進行。第一個函數(shù)叫做“ajaxRead”-也就是我們在頁面的“查看XML數(shù)據(jù)”鏈接中調(diào)用的函數(shù),我們定義了一個“xmlObj”變量-這將作為客戶端(用戶正在查看的這個web頁面)以及服務端(web站點本身)之間的中間件。我們在一個if/else塊中定義這個對象:

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

這只是一個對不同對象是否可用的測試-某些瀏覽器實現(xiàn)了不同的XMLHttpRequest對象,所以當我們定義“xmlObj”作為我們的XMLHttpRequest對象時,我們不得不根據(jù)瀏覽器所實現(xiàn)的來定義它。如果沒有可用的XMLHttpRequest對象,我們將執(zhí)行“return”語句結(jié)束這個函數(shù)以避免腳本錯誤。在大部分情況下,這個檢驗將返回一個XMLHttpRequest對象-這部分代碼應該能夠在絕大部分的瀏覽器上工作,除了少部分比較老的瀏覽器的異常情況(它能夠工作在ie5.01上,但是在netscape4上會使函數(shù)終止)。

接下來是這些代碼塊:

xmlObj.onreadystatechange = function(){
  if(xmlObj.readyState == 4){
      updateObj('xmlObj', xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data);
  }
}

每次XMLHttpRequest的狀態(tài)發(fā)生變化,事件“onreadystatechange”就會被觸發(fā)。通過使用“xmlObj.onreadystatechange = function(){...}”我們能夠創(chuàng)建一個函數(shù)并讓它在這個XMLHttpRequest對象的狀態(tài)每次發(fā)生改變的時候立刻運行。這里總共有五個狀態(tài),由0走到4。

0 – 尚未初始化(在這個XMLHttpRequest開始前)

1 – 加載(XMLHttpRequest初始化一結(jié)束)

2 – 加載結(jié)束(XMLHttpRequest一從服務器上獲得一個回應)

3 – 交互(當XMLHttpRequest對象和服務器連接中)

4 – 結(jié)束(當XMLHttpRequest被告知它已經(jīng)完成了所有人物并結(jié)束運行)

這第五個狀態(tài)(數(shù)字4)就是我們能夠確定數(shù)據(jù)已經(jīng)可用的標志,所以我們檢驗這個xmlObj.readyState是否等于“4”來確定數(shù)據(jù)是否可用,如果是4,我們運行updateObj函數(shù)。這個函數(shù)帶兩個參數(shù):一個當前web頁面的元素ID(當前web頁面中要更新的元素)以及用于填充這個元素的數(shù)據(jù)。這個函數(shù)的運行方式在稍后將更詳細地解釋。

我們的web頁面的p元素有一個id“xmlData”,這就是我們準備更新的段落。我們正在取得的數(shù)據(jù)來自于XML文件,但它有點復雜。這里是它如何工作的原理。

xmlObj.responseXML屬性是一個DOM對象 - 它很象“document”對象,除了它來自遠程的XML文件。換句話說,如果你在data.xml中運行腳本,那xmlObj.responseXML就是一個“document”對象。因為我們知道這些,我們能夠通過“getElementsByTagName”方法取得任何XML節(jié)點。數(shù)據(jù)包含在一個命名為“data>”的XML節(jié)點中,所以我們的任務很簡單:取得第一個(而且只有這一個)數(shù)據(jù)節(jié)點。因而,xmlObject.responseXML.getElementsByTagName("data")[0]返回XML文件中的第一個data>節(jié)點。
注意:它返回的是XML節(jié)點,而不是節(jié)點中的數(shù)據(jù)-這個數(shù)據(jù)必須通過訪問XML節(jié)點的屬性取得,這就是下一步要說的。

接下來,取得數(shù)據(jù)只需要簡單的指定“firstChild.data”(firstChild指向了那個被data>節(jié)點包含的文本節(jié)點,而這個“data”屬性則是這個文本節(jié)點的實際文本)。

xmlObj.open ('GET', file, true);
xmlObj.send ('');

這是我們的ajaxRead函數(shù)的最后一個部分。它說了些什么?嗯,xmlObj的這個“open”方法打開了一個到服務器(通過一個指定的協(xié)議,這里指定的是“GET”-你可以使用“USE”或者其他別的協(xié)議)的連接,去請求一個文件(在我們的例子里,變量“file”被作為一個參數(shù)賦給ajaxRead函數(shù)-data.xml),而且javascript可以同步(false)或者異步(true,默認值)的處理請求。由于這是異步的Javascript和XML(AJAX),我們將使用默認的異步方式-在這個例子中,使用同步方式將不起作用。

這是我們函數(shù)中的最后一行,它簡單的發(fā)送一個空字符串回服務器。如果沒有這行,xmlObj的readyState永遠不會到4,所以你的頁面永遠不會更新。這個send方法能夠用于作其他事情,但今天我只是用來從服務器上取得數(shù)據(jù)-并不發(fā)送它-所以在這篇文章中我不準備介入任何關(guān)于send方法的細節(jié)。

function updateObj(obj, data){
  document.getElementById(obj).firstChild.data = data;
}

現(xiàn)在再稍微解釋一下updateObj函數(shù):這個函數(shù)使用一個新的值來更新當前頁面上任何指定的元素。他的第一個參數(shù),“obj”是當前頁面中元素的ID-那個要被更新的對象;它的第二個參數(shù),“data”是用來將那個將被替換值的對象(“obj”)的內(nèi)容替換掉。一般來說,檢驗一下并確定當前頁面上確實有一個元素的ID是“obj”是比較明智的,但對我們的腳本的這個隔離級別來說校驗并不必要。這個函數(shù)更新的方式和我們之前從XML文件的“data”節(jié)點取得數(shù)據(jù)的方式類似-它定位它要更新的元素(這時候這個元素的ID代替了它的標簽名和在頁面中的索引)并設(shè)置這個元素的第一個子節(jié)點(文本節(jié)點)的data屬性為新的值。如果你需要使用HTML而不是純文本來更新一個元素,你也可以使用

document.getElementById(obj).innerHTML = data

這就是全部了

這個概念很簡單,而且代碼也不是很難。你能夠從某個地方讀取一個文件并且不需要重新加載這個web頁面。你有足夠的靈活性來作各種事情,包括從表單發(fā)送數(shù)據(jù)(不需要重新加載web頁面)并且使用一個服務端語言來動態(tài)生成XML文件。如果你需要更近一步,記得這個連接是很有用的-哦,還要記得Google是你朋友。在另外的文章中,我將解釋你如何配合服務端技術(shù)使用AJAX來構(gòu)造強大的web應用程序。

關(guān)于作者

Jonathan Fenocchi(mail:jona#slightlyremarkable.com #換成@)是一個網(wǎng)絡開發(fā)者,主攻web設(shè)計,客戶端腳本,php腳本。
他的網(wǎng)站位于:http://www.slightlyremarkable.com

12下一頁閱讀全文
您可能感興趣的文章:
  • 使用PHPRPC實現(xiàn)Ajax安全登錄
  • Ajax實現(xiàn)漂亮、安全的登錄界面
  • Ajax技術(shù)(WEB無刷新提交數(shù)據(jù))-
  • JQuery中ajax方法訪問web服務實例
  • AJAX請求是否真的不安全?談一談Web安全與AJAX的關(guān)系

標簽:崇左 撫州 威海 銅川 伊春 深圳 西藏 晉城

巨人網(wǎng)絡通訊聲明:本文標題《如何使用ajax開發(fā)web應用程序第1/2頁》,本文關(guān)鍵詞  如何,使用,ajax,開發(fā),web,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何使用ajax開發(fā)web應用程序第1/2頁》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何使用ajax開發(fā)web應用程序第1/2頁的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品久久久久久久久果冻传媒| 欧美理论电影在线| 日韩在线观看免费av| 91看片在线| 2021国产在线| 欧美日韩成人在线视频| 精品日产卡一卡二卡麻豆| 亚洲一二三精品| 成人看片网站| 久久在线电影| 日韩在线视频二区| 久久久久久国产精品mv| 一区二区三区四区五区视频在线观看| 午夜av入18在线| 欧美一区二区三区播放老司机| 波多野结衣大片| 国产精品区免费视频| 亚洲日本精品视频| 国产精品免费无码| 超碰精品在线观看| 亚洲综合精品视频| 中文日产幕无线码一区二区| 亚洲精品电影网站| 中文字幕激情小说| 成人激情视频在线播放| 日韩成人xxxx| 亚洲精品国产精品乱码不卡| 97碰碰碰免费公开在线视频| 国产精品日韩欧美大师| 欧美日高清视频| 国产亚洲精品久久飘花| 91蝌蚪九色| 欧美电影免费观看高清| 亚洲精品99久久久久中文字幕| 国产色a在线观看| 四虎影视永久免费在线观看一区二区三区| 99精品视频在线观看免费播放| 国产一区二区三区久久久久久久久| 波多野结衣亚洲一区二区| 亚洲精品在线影院| 欧美老女人在线视频| 亚洲精品日韩在线观看| 久草在现在线| 欧美日韩精品中文字幕| 国模套图日韩精品一区二区| 国产精品无码一区二区在线| 日韩最新免费不卡| 日韩一级电影| 亚洲综合免费视频| 亚洲欧美激情一区二区| 邻居大乳一区二区三区| 免费成人高清在线视频theav| 91久久中文字幕| 国产农村妇女aaaaa视频| 免费福利视频网站| 国产毛片毛片毛片毛片毛片毛片| 李宗瑞系列合集久久| 中文字幕一区二区三区域| 亚洲a一区二区三区| 毛片网站网址| 午夜日韩在线观看| sdde在线播放一区二区| 亚洲日日夜夜| 久久精品中文字幕电影| 91传媒视频在线播放| 国产国语性生话播放| 青娱乐极品盛宴一区二区| 成人免费观看cn| 任我爽精品视频在线播放| 正在播放亚洲1区| 日本视频网址| 成人性色av| 久久精品亚洲麻豆av一区二区| 精品国产鲁一鲁一区二区三区| 国产a级一级片| 国产女主播在线直播| 亚洲欧洲成人av每日更新| www.99re6| 久久久久久国产| 成人黄色在线免费观看| 黑人性生活视频| 日日骚久久av| 成人免费在线网址| 国内自拍中文字幕| 久久久9色精品国产一区二区三区| 欧美老头gaygay1069| 色猫av在线| 成入视频在线观看| 亚洲国产日韩在线一区模特| 色一情一乱一伦一区二区三区丨| 亚洲视频免费在线| av不卡一区二区三区| 在线观看三级视频欧美| 成人在线观看一区二区| 国产福利第一视频| 粉嫩av一区二区三区| 国产探花视频在线播放| 午夜成人亚洲理伦片在线观看| 中文字幕在线观看成人| 精品国偷自产国产一区| 国产中文字幕一区| 97超碰国产一区二区三区| 女生裸体视频一区二区三区| 国产精品一区二区av白丝下载| hs视频在线观看| 99re免费视频精品全部| 国产精品亚洲欧美在线播放| 免费在线观看黄色网| 中文字幕在线观看高清| 国产中文字幕在线观看| 免费毛片小视频| 三上悠亚久久精品| 亚洲天堂精品在线观看| 国产麻豆精品theporn| 精品国产一区二区三区日日嗨| 日本中文字幕一区二区有限公司| 亚洲视频在线不卡| 欧美14一18处毛片| 欧美另类videosbest视频| 男人操女人视频网站| 日本全棵写真视频在线观看| 欧美aaaaaa午夜精品| 农村寡妇一区二区三区| 欧美aaa大片视频一二区| 亚洲香蕉成视频在线观看| 性欧美黑人xxxx| 精品久久久久久无码国产| 久久久久久久有限公司| 色综合久综合久久综合久鬼88| 日韩精品视频一区二区三区| 电影中文字幕一区二区| 亚洲va在线va天堂| www.91av| 网站免费在线观看| 伊人波多野结衣| 日韩精品在线观| 制服丝袜综合日韩欧美| 91免费观看视频| 91国产精品视频在线观看| 国产尤物视频在线观看| 欧美精品久久久久久久久| 五月天综合在线| 亚洲成人第一| 日本亚洲视频| 欧美成人h版| 国产剧情在线视频| 亚洲午夜激情av| 成年人免费视频播放| 久久只有精品| 久久综合一区二区| 欧美一级大片在线视频| 久久人人爽亚洲精品天堂| 国产一区二区免费电影| 国产精品无av码在线观看| 性生交生活影碟片| 日本高清网站| 欧美日韩精品在线一区| 日韩成人性视频| 国产又粗又黄视频| 青青草原综合久久大伊人精品| 五月天精品视频| 欧美精品与人动性物交免费看| 日韩极品在线| 欧美性猛交xxxx免费看蜜桃| 制服诱惑亚洲| 欧美天天综合| 国产suv精品一区二区| 国产aⅴ一区二区三区| 秘密影院久久综合亚洲综合| 黄色高清在线观看| 欧美亚洲综合久久| 亚洲国产日韩综合一区| 怡红院精品视频| 色网在线免费观看| 国产又黄又爽免费视频| 亚洲色图都市激情| 亚洲成人在线观看视频| 在线成人激情视频| 成人精品国产| 中文av一区特黄| 一区二区国产在线观看| 超碰在线资源| 亚洲高清一区二| av女同在线| 91电影在线观看| 国产网站一区二区| 欧美性色综合| 久久久久久久99| 亚洲欧洲日韩av| jizzjizzjizz亚洲日本| 国内久久精品视频| 欧美日本韩国在线| 第一福利在线视频| 成人精品三级| 久久高清内射无套| 5g影院5g天天爽永久免费影院| 国产日产久久高清欧美一区| 日本一区二区高清不卡| 在线电影av不卡网址| 亚洲熟女乱色一区二区三区久久久| 亚洲黄色三级| 精品人妻无码一区二区性色| 精品入口蜜桃| 在线免费看av| 色综合咪咪久久网| 天天综合在线观看| 美女视频一区在线观看| 免费麻豆国产一区二区三区四区| 国产精品久久久久久影院8一贰佰| 国产精品传媒视频| 中文字幕亚洲国产| 三上悠亚免费在线观看| 国产成人精品一区二区三区免费| www视频在线观看免费| 日韩精品一区二区亚洲av观看| 青春有你2免费观看完整版在线播放高清| 免费黄色欧美视频| 久久精品在线观看| 人妖粗暴刺激videos呻吟| 黄色片视频免费观看| 青椒成人免费视频| 欧洲一区二区在线观看| 精品国产无码一区二区三区| 亚洲日本一区二区三区在线观看| 欧美bbbxxxxx| 亚洲综合在线网| 国产a级毛片一区| 国产精品成人无码免费| 亚洲a∨日韩av高清在线观看| 日韩精品在线影院| 国产亚洲精品久久久优势| 久久五月天色综合| 国产日韩1区| 中文无字幕一区二区三区| 亚洲黄色小说网站| 国产高清亚洲一区| 国产a亚洲精品| 午夜精品一区二区三区三上悠亚| 国产精品无码专区在线观看| 日韩一级视频在线观看| 国产情侣高潮对白| 国产成人综合在线视频| 亚洲婷婷噜噜| 欧美套图亚洲一区| 爱啪啪综合导航| 性高潮久久久久久久久久| 欧美无遮挡国产欧美另类| 香蕉久久精品日日躁夜夜躁| 精品成人佐山爱一区二区| 色综合天天综合网天天看片| 制服丝袜在线播放| 国产成人精品av久久| 2021天堂中文幕一二区在线观| 欧美日韩国产大片| 欧美乱偷一区二区三区在线| 色视频欧美一区二区三区| h视频在线观看网站| 99久久久久久久| 久久免费美女视频| 久久久资源网| 日日夜夜免费精品| 欧美午夜一区二区福利视频| 欧美一区在线观看视频| 91色p视频在线| 久久影视电视剧免费网站清宫辞电视| 国产伦精品免费视频| 精品一区二区免费在线观看| 欧美少妇一级片| 亚洲欧美日韩精品久久久久| 亚洲成精国产精品女| silk一区二区三区精品视频| 国产成人精品一区二区色戒| 日韩成人毛片视频| 在线精品亚洲欧美日韩国产| www.久久久久爱免| 三上悠亚国产精品一区二区三区| 激情五月色综合亚洲小说| 中文字幕亚洲综合久久菠萝蜜| 免费在线观看一级毛片| 奇米影视四色在观看线| 影音先锋中文字幕在线播放| 国产又粗又猛又爽视频| 国产91丝袜在线播放九色| 国产伦子伦对白在线播放观看| 99在线无码精品入口| 欧美三区在线| 久久黄色精品视频| 黄色污网站在线观看| 欧美韩国日本一区| 中文字幕的久久| 国产精品免费人成网站酒店| 久久精品色播| 亚洲三级免费观看| 熟年交尾五十路视频在线播放| 91精品国产乱码久久久久久久久| 你懂的在线观看网站| 警花av一区二区三区| 午夜av电影一区| 国产av一区二区三区| 六月婷婷一区| 久久综合欧美| 色一情一乱一伦一区二区三区| 亚洲精选一区| 国产97免费视频| 深爱激情综合网| 国产精品第5页| 久久精品无码一区二区三区毛片| 午夜精品成人在线| 91麻豆桃色免费看| 国产精品亚洲一区二区无码| 欧美bbbbb性bbbbb视频| 中文字幕精品一区二| 亚洲欧美欧美一区二区三区| 婷婷综合在线| 亚洲精品小区久久久久久| 亚洲欧美不卡| 人妻夜夜添夜夜无码av| 久青青在线观看视频国产| 欧美精品一区二区三区一线天视频| 国产剧情在线观看| 国产精品日韩欧美一区| 亚洲aa在线观看| 日韩在线视频免费观看高清中文| 日韩一区二区在线观看视频| 日韩理论片中文av| 久久精品电影网| 久久久免费网站| 无码人妻av一区二区三区波多野|