Web開發的教程圖解

    時間:2024-06-05 02:26:16 Web Services 我要投稿
    • 相關推薦

    Web開發的教程圖解

      同時我還將展示,如何使用JavaScript腳本和Dom接口,來為網頁創建一個表格 .將ajax請求的數據顯示到該表格內.

      本次的ajax實例效果中請求的服務端網頁依然是:Web_ajax.Asp該網頁使用了Asp輸出xml技術.如果你還不知道如何使用Asp輸出xml請返回:"ajax開始準備篇"

      提醒:在每篇ajax教程的實例開始之前,你必須查看當天的Web_ajax.asp文件中的數據結構.因為我們每次實例中要讀取的標簽和內容都不一樣.點擊:查看Web_ajax.Asp

      上次我們讀取的是msg標簽.今天我們要讀取xml中新增的read標簽.我們要實現的效果是:將read標簽下的Html,Css,Dom,JavaScript,Ajax這些文本內容.顯示到我們網頁中的表格內.

      先看下面的代碼.和實例演示

      復制代碼 代碼如下:

      function ajax_xmlhttp(){

      //在IE中創建xmlhttpRequest,適用于IE5.0以上所有版本

      var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");

      for(var i=0; i

      try

      {

      _xmlhttp=new ActiveXObject(msXmlhttp[i]);

      }

      catch(e)

      {

      _xmlhttp=null;

      }

      } //循環創建基于IE瀏覽器的xmlhttp.結束

      //如果非IE瀏覽器,則創建基于FireFox等瀏覽器的xmlhttpRequest

      if(!_xmlhttp && typeof XMLHttpRequest != "undefined")

      {

      _xmlhttp=new XMLHttpRequest();

      }

      return _xmlhttp;

      }

      //發送請求函數

      function Post(){

      var ajax = ajax_xmlhttp(); //將xmlhttprequest對象賦值給一個變量.

      ajax.open("post","web_ajax.asp",true);//設置請求方式,請求文件,異步請求

      ajax.onreadystatechange = function(){//你也可以這里指定一個已經寫好的函數名稱

      if(ajax.readyState==4){//數據返回成功

      if(ajax.status==200){//http請求狀態碼返回ok

      var xmlData = ajax.responseXML;//接收返回xml格式數據

      var read = xmlData.getElementsByTagName("read");//獲取所有的read標簽

      if(read.length!=0){

      var t = document.createElement("table");//創建一個表格元素

      t.setAttribute("border","1");

      document.body.appendChild(t);//將表格添加到doby內

      for(var i=0;i

      var tr = t.Row(t.rows.length);//添加一行

      var td = tr.Cell(0);//添加一列

      td.innerHTML = read[0].childNodes[i].firstChild.nodeValue;//為單元格寫入文本內容

      }

      }

      }

      }

      }

      ajax.send(null);

      }

      今天我們不再講昨天重復過的內容.同樣在Post的函數內.多了幾行代碼.可以跟上一篇"ajax初始讀取數據篇"進行對比.

      下面我們來講一下今天新增的代碼的作用.

      if read.length!=0:即判斷read標簽是否被成功獲取.如果其legnth屬性不等于0,則代表read已經存在.可以對其進行解析

      開始解析返回數據,但網頁中并沒有存在顯示數據的元素.所以我們創建一個表格:var t = document.createElement("table");.請參考:createElement

      t.setAttribute("border","1");為表格添加一個邊框屬性.請參考:setAttribute

      document.body.appendChild(t);將創建好的表格添加到網頁body元素內.請參考:appendChild

      表格添加完成.開始遍歷read標簽內的所有子元素.也就是:html,css,dom,javascript,ajax這些內容.

      開始一個循環,read[0].childNodes.length的意思是獲取read標簽內所有子元素的個數.在這里會返回5. i=0;i<5條件ok! 每循環一次i變量會自動+1,表格會增加一行,并為該行增加一列.同時為這一列寫入read第i個子元素的文本內容.直到i=5,i不會再小于read子元素的個數.條件不滿足.循環停止.此時數據正好被顯示完畢!

      為了讓每位讀者加深理解.我再陳述一遍該實例效果的實現流程:當你點擊了"顯示數據"按扭時,Post函數被啟用,函數內一個名字為ajax的變量被賦值XMLHTTPRequest對象的引用.然后便打開了open方法.并使用send方法向服務端發出請求.無論是open還是send方法,都會引發readyState方法的狀態值發生變化.一旦readyState發生變化就會觸發onreadystatechange屬性. onreadystatechange屬性指定的程序將會執行.然后在程序內再次判斷readyState的狀態值是否等于4,如果是則證明整個發送請求與服務端返回數據已經成功.同時并判斷status是否等200,如果是則代表http請狀態碼也已經ok!此時可以放心的百分之百的接收數據,于是我們使用responseXML屬性來接收返回的數據.該屬性只限制接收xml格式的數據.我始終認為將xml格式的數據做為請求與回傳的中介.是ajax最標準的使用方法!

      今天的ajax實例教程--"ajax之讀取數據到表格"就告一段落.我想是不是應該留個問題讓各位讀者來解決一下?各位有沒有發現在實例演示中.你如果重復點擊"顯示數據"按扭.表格會被重復的創建.數據也會被重復的讀取.我希望各位讀者可以解決該問題.

    【Web開發的教程圖解】相關文章:

    ghost硬盤對拷圖解教程02-16

    美甲教程步驟圖解02-28

    WEB教程標準應用標簽03-30

    集成spring與Web容器教程03-20

    Java開發web的幾種開發模式12-13

    金色漸變美甲教程圖解03-28

    斜法式花朵兒美甲教程圖解03-30

    Web Service的開發與應用基礎03-19

    web網頁開發筆小知識03-30

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      色妞在线视频网址免费观看国产片 | 亚洲欧美国产丝袜综合 | 天堂va中文在线官网 | 久久婷婷综合一区二区 | 中文字幕乱偷免费视 | 中文字幕高清看片欧美灰色 |