goahead 利用ajax實現局部重新整理

來源:互聯網
上載者:User
ajax===http://blog.csdn.net/seuge/article/details/8209685

“Asynchronous JavaScript and XML”(非同步JavaScript和XML)

我們操作網頁時往往只需要重新整理網頁上的一部分資料甚至可能是一個文字框內的資料,但是採用傳統的重新整理方式伺服器會把整個頁面重新發送至瀏覽器,瀏覽器再載入整個頁面,這樣不僅浪費了頻寬,而且整個頁面重新整理視覺上也不流暢。

ajax技術解決了這一問題,ajax的思路是我需要重新整理局部資料時給伺服器一個請求,伺服器收到請求後將資料將需要重新整理的資料回送,瀏覽器接受到資料後通過指令碼更新相應位置的資料,這個過程必須是在後台進行的。實現這個過程的核心便是JavaScript對象XmlHttpRequest。該對象在是一種支援非同步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向伺服器提出請求並處理響應,而不阻塞使用者。
在goahead中的實現:

1.首先是一個前台頁面:

[html] view plain copy <html>   <head>   <script type="text/javascript">   function loadXMLDoc()   {   var xmlhttp;   if (window.XMLHttpRequest)     {// code for IE7+, Firefox, Chrome, Opera, Safari     xmlhttp=new XMLHttpRequest();     }   else     {// code for IE6, IE5     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");     }   xmlhttp.onreadystatechange=function()     {     if (xmlhttp.readyState==4 && xmlhttp.status==200)       {       document.getElementById("myDiv").innerHTML=xmlhttp.responseText;       }     }   xmlhttp.open("GET","/ajax/",true);   xmlhttp.send();   }   </script>   </head>   <body>      <div id="myDiv"><h2>需要重新整理的局部內容</h2></div>   <button type="button" onclick="loadXMLDoc()">通過 AJAX 實現局部重新整理</button>      </body>   </html>   把改htm放入伺服器中。

2.在伺服器端實現XMLHttpRequest的請求應答。

為ajax請求專門建立一個handle         //和asp  或form一樣,在.c檔案中添加ajax處理函數。

[html] view plain copy int websAjaxHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,    char_t *url, char_t *path, char_t *query)   {       websHeader(wp);       websWrite(wp, T("<body><h2>this is ajax test!</h2>\n"));       websFooter(wp);       websDone(wp, 200);       return 1;   }   註冊handle               //也是和 asp  或form一樣,註冊

[html] view plain copy websUrlHandlerDefine(T("/ajax"), NULL, 0, websAjaxHandler, 0);   這樣就實現了局部重新整理。
擴充 [html] view plain copy xmlhttp.open("GET","/ajax/",true);   xmlhttp.send();  
這是後台資料請求,現在僅是示意,所以沒有對ajax請求進行分類,以後可以進行細分比如
xmlhttp.open("GET","/ajax/time",true);
然後響應的在goahead端進行二次判斷,作出響應的應答。
#################################################
以上是特別好的架構
更加詳細的解釋參閱:http://www.w3school.com.cn/ajax/index.asp

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.