Ajax简要应用说明及技术开发实例
生活随笔
收集整理的這篇文章主要介紹了
Ajax简要应用说明及技术开发实例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Ajax Ajax,異步JavaScript與XML,是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。這樣,Web頁面不用打斷交 互流程進(jìn)行重新加裁,就可以動態(tài)地更新。使用Ajax,你可以創(chuàng)建接近本地桌面應(yīng)用的,直接的、高可用的、更豐富的 、更動態(tài)的Web用戶接口界面。 Ajax處理過程 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執(zhí)行 HTTP請求,并且將會解析一個XML格式的服務(wù)器響應(yīng)。Ajax處理過程中的第一步是創(chuàng)建一個XMLHttpRequest實(shí)例。使用 HTTP方法(GET或POST)來處理請求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對象上。 現(xiàn)在,記住Ajax如何首先處于異步處理狀態(tài)?當(dāng)你發(fā)送HTTP請求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之 的是,你希望通過頁面繼續(xù)響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請求??刂茩?quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng) 到達(dá)時(shí),回調(diào)函數(shù)將會被調(diào)用。 在Java Web服務(wù)器上,到達(dá)的請求與任何其它HttpServletRequest一樣。在解析請求參數(shù)后,servlet執(zhí)行必需的應(yīng)用 邏輯,將響應(yīng)序列化到XML中,并將它寫回HttpServletResponse。 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執(zhí)行 HTTP請求,并且將會解析一個XML格式的服務(wù)器響應(yīng)。Ajax處理過程中的第一步是創(chuàng)建一個XMLHttpRequest實(shí)例。使用 HTTP方法(GET或POST)來處理請求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對象上。 現(xiàn)在,記住Ajax如何首先處于異步處理狀態(tài)?當(dāng)你發(fā)送HTTP請求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之 的是,你希望通過頁面繼續(xù)響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請求。控制權(quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng) 到達(dá)時(shí),回調(diào)函數(shù)將會被調(diào)用。 在Java Web服務(wù)器上,到達(dá)的請求與任何其它HttpServletRequest一樣。在解析請求參數(shù)后,servlet執(zhí)行必需的應(yīng)用 邏輯,將響應(yīng)序列化到XML中,并將它寫回HttpServletResponse。 一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執(zhí)行 HTTP請求,并且將會解析一個XML格式的服務(wù)器響應(yīng)。Ajax處理過程中的第一步是創(chuàng)建一個XMLHttpRequest實(shí)例。使用 HTTP方法(GET或POST)來處理請求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對象上。 現(xiàn)在,記住Ajax如何首先處于異步處理狀態(tài)?當(dāng)你發(fā)送HTTP請求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之 的是,你希望通過頁面繼續(xù)響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請求??刂茩?quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng) 到達(dá)時(shí),回調(diào)函數(shù)將會被調(diào)用。 在Java Web服務(wù)器上,到達(dá)的請求與任何其它HttpServletRequest一樣。在解析請求參數(shù)后,servlet執(zhí)行必需的應(yīng)用 邏輯,將響應(yīng)序列化到XML中,并將它寫回HttpServletResponse。 實(shí)例 以下是我所寫的一個簡單的例子,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* 創(chuàng)建日期: 2005-10-25* 原作者: miaohai* 版權(quán)所有: 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發(fā)送參 數(shù)到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>
轉(zhuǎn)載于:https://blog.51cto.com/sqgldsxin/265555
總結(jié)
以上是生活随笔為你收集整理的Ajax简要应用说明及技术开发实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 站在巨人的肩膀上眺望未来
- 下一篇: OA的核心模块在那里?