DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> ASP+AJAX打造無刷新新聞評論系統
ASP+AJAX打造無刷新新聞評論系統
編輯:AJAX基礎知識     
不知上過ChinaRen校友錄的朋友們有沒有注意,ChinaRen在改版後很多方面都進行了較大的改動。例如留言與回復方面已經不再像以前那樣,在每次提交後總得重新加載一下整個頁面,碰到網速超慢時,只能干瞪著眼睛等待。那麼現在這種炫麗的效果又是如何做到的呢,如果你覺得有興趣,那就跟著我一起往下看吧!

  了解Ajax的朋友也許知道其實這種炫麗效果的實現並不是一件很為難的事,當然如果你不了解何為Ajax那也沒有關系,本節我們就通過打造一個新聞評論系統,來看看到底什麼是Ajax,首先我們還是先了解一些基礎東西。

  什麼是Ajax?

  Ajax提出者Jesse James Garrett在《Ajax:一個Web應用的新途徑》中提到Ajax為“Asynchronous JavaScript + XML”的簡稱,也就是異步的JavaScript和XML處理。其包含:

  用XHTML和CSS進行基於標准的表示方式:
  采用DOM(document object model)動態顯示和交互操作;
  采用XML和XSLT進行數據交換和操作;
  采用XMLHttpRequest進行異步數據獲取;
  采用JavaScript綁定上述技術應用;
  Ajax與傳統Web應用有什麼不同?

  Ajax與傳統Web應用最大的不同就是Ajax可以對頁面某一個區域進行局部加載,而不是像傳統Web中每次頁面請求後的都必須重新加載整個頁面,特別在頁面負載比較大的情況下,頁面加載時間就比較長,用戶多數時間就處在等待狀態,而呈現給用戶的僅僅是一片空白,而在Ajax的應用中就可以很好的避免這類事情的發生。

  Ajax的工作原理是什麼?

  Ajax主要是通過JavaScript對象中的XmlHttpRequest向服務器提出請求,並根據處理的結果更新頁面。這樣的更新不會使整個頁面全部更新,而是根據用戶的需要對某個區域進行局部更新,而且在更新的同時不影響其它區域的浏覽。例如:搜狐個人博客中每個欄目後面的刷新按鈕。

  什麼是XmlDom?

  XMLDOM是用來訪問和操作XML文檔的編程接口規范。XMLDOM被設計為可用於任何語言和任何操作系統。借助DOM,程序員可以創建XML文檔、遍歷其結構,增、改、刪其元素。DOM將整個XML文檔視作一棵樹,文檔級的元素是樹的根。

  下面我們就來看看幾個與本教程相關的功能,值得注意的是以下方法或屬性並不是同一個對象下,具體請看說明:

  getElementsByTagName 方法

  說明:傳回指定名稱的元素集合。

  語法:objNodeList = xmlDocument.getElementsByTagName(tagname);

  例:var node=xmlDom.responseXML.getElementsByTagName("pl");

  getAttribute()方法

  說明:獲得某個元素節點的屬性值

  語法:elementNode.getAttribute(name)

  例:var tot=xmlDom.responseXML.getElementsByTagName("pl")[0].getAttribute("tot");

  childNodes 屬性

  說明:傳回一個節點列表,包含該節點所有可用的子節點。

  語法:objNodeList=node.childNodes;

  例:objNodeList = xmlDoc.childNodes;

  如需具體的某一個節點, var u= xmlDoc.childNodes(0);

  Length屬性 ()

  說明:返回一個節點列表中的節點數量

  語法:nodelistObject.length

  例:var len=node.length;

  至此,基礎知識已經講完了,如果你還是不太了解的話,那建議你去看一些javascript相關的教程。下面我們就看這個新聞評論系統的具體實現原理

  假設有一個頁面index.asp,上半部分為評論列表顯示區域,下面為評論提交區域。那麼這樣一個頁面我們如何顯示評論內容和提交評論呢?

  傳統:上半部分評論列表直接通過數據庫查詢語句讀取並顯示,每當提交新的評論時,先傳遞給處理頁面,處理頁面處理完畢後再返回index.asp這個頁面,當然index.asp是重新加載獲得新的評論。

  Ajax::首先列表頁面的內容是一個單獨的xml文件(pl_list.asp),然後index..asp中的上半部分評論通過XmlHttpRequest請求pl_list.asp頁面,並通過返回的結果傳遞到需要更新區域。提交評論同樣如此,每次提交采用XmlHttpRequest請求提交處理程序,然後重新更新評論列表顯示區域。

  此新聞評論系統共分為五個部分,分別為數據庫、前台頁面、JS代碼、服務器處理、CSS樣式。

  數據庫的設計

  PL表:

  字段名

  類型

  長度

  id

  自動編號

  user

  文本

  20

  dateandtime

  日期/時間

  content

  備注

  newid

  數字

  前台頁面:(index.htm)

  如上圖所示,前台頁面共包括兩部分,上半部分為頁面評論列表顯示,下半部分為提交評論。由於我們這裡只是模擬一個新聞評論系統,並沒有真正的新聞頁面,那麼在傳遞新聞ID的時候我們采用了一個默認值 〈input name="newsid" value="1" type="hidden"/〉。

  代碼:index.htm

  〈%@LANGUAGE="VBS

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved