Ajax简要应用说明及技术开发实例
生活随笔
收集整理的這篇文章主要介紹了
Ajax简要应用说明及技术开发实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Ajax Ajax,異步JavaScript與XML,是使用客戶端腳本與Web服務器交換數據的Web應用開發方法。這樣,Web頁面不用打斷交 互流程進行重新加裁,就可以動態地更新。使用Ajax,你可以創建接近本地桌面應用的,直接的、高可用的、更豐富的 、更動態的Web用戶接口界面。 Ajax處理過程 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執行 HTTP請求,并且將會解析一個XML格式的服務器響應。Ajax處理過程中的第一步是創建一個XMLHttpRequest實例。使用 HTTP方法(GET或POST)來處理請求,并將目標URL設置到XMLHttpRequest對象上。 現在,記住Ajax如何首先處于異步處理狀態?當你發送HTTP請求,你不希望瀏覽器掛起并等待服務器的響應,取而代之 的是,你希望通過頁面繼續響應用戶的界面交互,并在服務器響應真正到達后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調函數,并異步地派發XMLHttpRequest請求。控制權馬上就被返回到瀏覽器,當服務器響應 到達時,回調函數將會被調用。 在Java Web服務器上,到達的請求與任何其它HttpServletRequest一樣。在解析請求參數后,servlet執行必需的應用 邏輯,將響應序列化到XML中,并將它寫回HttpServletResponse。 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執行 HTTP請求,并且將會解析一個XML格式的服務器響應。Ajax處理過程中的第一步是創建一個XMLHttpRequest實例。使用 HTTP方法(GET或POST)來處理請求,并將目標URL設置到XMLHttpRequest對象上。 現在,記住Ajax如何首先處于異步處理狀態?當你發送HTTP請求,你不希望瀏覽器掛起并等待服務器的響應,取而代之 的是,你希望通過頁面繼續響應用戶的界面交互,并在服務器響應真正到達后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調函數,并異步地派發XMLHttpRequest請求。控制權馬上就被返回到瀏覽器,當服務器響應 到達時,回調函數將會被調用。 在Java Web服務器上,到達的請求與任何其它HttpServletRequest一樣。在解析請求參數后,servlet執行必需的應用 邏輯,將響應序列化到XML中,并將它寫回HttpServletResponse。 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執行 HTTP請求,并且將會解析一個XML格式的服務器響應。Ajax處理過程中的第一步是創建一個XMLHttpRequest實例。使用 HTTP方法(GET或POST)來處理請求,并將目標URL設置到XMLHttpRequest對象上。 現在,記住Ajax如何首先處于異步處理狀態?當你發送HTTP請求,你不希望瀏覽器掛起并等待服務器的響應,取而代之 的是,你希望通過頁面繼續響應用戶的界面交互,并在服務器響應真正到達后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調函數,并異步地派發XMLHttpRequest請求。控制權馬上就被返回到瀏覽器,當服務器響應 到達時,回調函數將會被調用。 在Java Web服務器上,到達的請求與任何其它HttpServletRequest一樣。在解析請求參數后,servlet執行必需的應用 邏輯,將響應序列化到XML中,并將它寫回HttpServletResponse。 實例 以下是我所寫的一個簡單的例子,ajaxServlet.java程序清單: package com;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/**---------------- -----------* 文件名: ajaxServlet.java* 創建日期: 2005-10-25* 原作者: miaohai* 版權所有: miaohai* 功能說 明: 生成XML文檔** 修改記錄:N/A*------------------------*/public class ajaxServletextends HttpServlet {private static final String CONTENT_TYPE="text/xml;charset=gb2312";public void init()throws ServletException{}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{response.setContentType(CONTENT_TYPE);PrintWriter out=response.getWriter ();String action=request.getParameter("action");if(("send").equals(action)){StringBuffer sb=new StringBuffer("<type>");sb.append("<type_name>AA</type_name>");sb.append ("<type_name>BB</type_name>");sb.append("<type_name>CC</type_name>");sb.append ("<type_name>DD</type_name>");sb.append("</type>");out.write(sb.toString());out.close();}}}html頁 面:<html><head><title>AJAX.html</title></head><script type="text/javascript">/*通過異步傳輸XMLHTTP發送參 數到ajaxServlet,返回符合條件的XML文檔*/function getResult(){var url = "servlet/com.ajaxServlet? action=send";if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject){ req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET",url, true); req.onreadystatechange = complete; req.send(null); } } /*分析返回的XML文檔*/function complete(){if (req.readyState == 4){ if (req.status == 200) { var type = req.responseXML.getElementsByTagName ("type_name"); var str=new Array();for(var i=0;i<type.length;i++){str[i]=type [i].firstChild.data;document.all['td'].innerHTML+=str[i]+"<BR>";}}}}</script><body onLoad="getResult ()"><table width="80%" border="0" cellspacing="0" cellpadding="0"><tr><td id="td"> </td></tr></table></body>
轉載于:https://blog.51cto.com/sqgldsxin/265555
總結
以上是生活随笔為你收集整理的Ajax简要应用说明及技术开发实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 站在巨人的肩膀上眺望未来
- 下一篇: OA的核心模块在那里?