<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    下載記憶
    Download my Memory
    posts - 33,  comments - 228,  trackbacks - 0
    最近看了些關于Ajax一些基礎的東西,感覺也沒有什么新鮮的技術,主要是JavaScript和XML,可能是我了解的太少吧.另外關于XMLHttpRequest可以參考網站: http://www.xmlhttp.cn
    下面我演示一下我自己編寫的一段代碼:
    1) 準備一個Servlet,當請求該Servlet時,它將返回以HTML格式返回"Hello World!"字樣.

    public?class?Hello?extends?HttpServlet?{
    ????
    public?void?doGet(HttpServletRequest?req,?HttpServletResponse?res)
    ????????
    throws?ServletException,?IOException?{
    ????????
    this.doPost(req,?res);
    ????}

    ????
    public?void?doPost(HttpServletRequest?req,?HttpServletResponse?res)
    ????????
    throws?ServletException,?IOException?{
    ????????res.setContentType(
    "text/html");
    ????????res.setHeader(
    "Cache-Control","no-cache");
    ????????res.getWriter().write(
    "Hello?World!");
    ????}

    }
    2)準備一個HTML文件.當點擊"Order"按鈕時,網頁向服務器發送異步請求,請求成功則在按鈕下方顯示"Hello World!".
    ?1<html>
    ?2<head>
    ?3????<title>Test?Ajax</title>
    ?4????<script?language="JavaScript">
    ?5????????var?req;
    ?6????????var?url;
    ?7????????function?requestServlet()?{
    ?8????????????if?(window.XMLHttpRequest)?{
    ?9????????????????req?=?new?XMLHttpRequest();
    10????????????}
    ?else?if?(window.ActiveXObject)?{
    11????????????????req?=?new?ActiveXObject("Microsoft.XMLHTTP");
    12????????????}

    13????????????var?url?=?"http://localhost:8080/ajax/HelloServlet";
    14????????????//var?url?=?"HelloServlet";????//相對,絕對地址都可以
    15????????????req.open("POST",?url,?true);
    16????????????req.setRequestHeader("Content-Type",?"application/x-www-form-urlencoded");
    17????????????req.onreadystatechange=validator;
    18????????????req.send();
    19????????}

    20????????function?validator()?{
    21????????????if?(req.readystate?==?4)?{
    22????????????????if?(req.status?==?200)?{
    23????????????????????msg.innerHTML?=?req.responseText;
    24????????????????}

    25????????????????else{
    26????????????????????msg.innerHTML?=?"req.status?=?"?+?req.status;
    27????????????????}

    28????????????}

    29????????}

    30????
    </script>
    31</head>
    32
    33<body>
    34<input?type="button"?name="order"?value="Order"?onClick="requestServlet()"/><br/>
    35<span?id="msg"></span>
    36</body>
    37</html>
    代碼的8-12行用來產生一個XMLHttpRequest對象,之后調用該對象Open函數對其初始化.其中的布爾值"true"用來表明是否異步請求.情參照XMLHttp.cn的注解.17行onreadystatechange的意思是一旦readyState的值發生變化就會調用validator()函數.20行中readyState如果等于4表明從服務器接收數據完畢,此時可以通過responseBody,responseText或responseXML來獲取完整的回應數據,不過在此動作之前最好先判斷一下請求到的內容是否是你想要的內容XMLHttpRequest的成員status存儲的是當前請求的http狀態碼,如果它等于200表明請求成功.最常見的錯誤是404代碼的"Not Found"錯誤.要注意的是此屬性必須在數據接受完畢之后,也就是說readyState等于4時才能獲取.
    ? 另外對于處理XML文件則需用到XMLHttpRequest的responseXML屬性(不是方法),它將響應信息格式化為Xml Document對象并返回.例如把Servlet的doPost()方法修改為
    1resp.setContentType("text/xml");
    2resp.setHeader("Cache-Control","no-cache");
    3resp.getWriter().write("<message>Hello?World!</message>");
    注意第一行要設置文檔類型為XML.
    此時JavaScript解析時應使用ResponseXML了.
    1function?validator()?{
    2????if?(req.readystate?==?4)?{
    3????????if(req.status==200){
    4????????????var?message?=?req.responseXML.getElementsByTagName("message")[0];
    5????????????msg.innerHTML?=?message.childNodes[0].nodeValue;
    6????????}
    7????}
    8}
    體驗一下Ajax吧! ^_^
    posted on 2006-03-27 10:02 下載記憶 閱讀(428) 評論(1)  編輯  收藏 所屬分類: 學習

    FeedBack:
    # re: 以最簡單的代碼展現 Ajax
    2006-03-28 14:40 | 鳥不生蛋蛋的地方
    好文章!  回復  更多評論
      

    永久記載下我的記憶

    http://www.jpai.cn


    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 29277
    • 排名 - 1408

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在人线av无码免费高潮喷水| a级毛片免费观看在线| 好爽又高潮了毛片免费下载| 亚洲人成无码网站在线观看| 国产一级一片免费播放| 三级黄色免费观看| 亚洲自偷自拍另类图片二区| 国产精品高清全国免费观看| 免费在线看污视频| 亚洲va无码专区国产乱码| 手机看黄av免费网址| 暖暖免费中文在线日本| 亚洲精品美女久久久久| 免费在线视频一区| 国产精品成人免费视频网站京东| 国产成人无码区免费内射一片色欲| 18禁亚洲深夜福利人口| 亚洲成AV人在线播放无码| 国产一级淫片视频免费看| 四虎影在线永久免费观看| 亚洲国产成人五月综合网| 18观看免费永久视频| 国产美女视频免费观看的网站| 亚洲精品无码一区二区| 久久人午夜亚洲精品无码区| 亚洲日日做天天做日日谢| 亚洲爆乳精品无码一区二区三区 | 国产区在线免费观看| 岛国精品一区免费视频在线观看 | 亚洲无码一区二区三区 | 国产jizzjizz免费看jizz| 亚洲综合最新无码专区| 毛片a级毛片免费播放下载| 97av免费视频| 三年片免费高清版| 久久w5ww成w人免费| 四虎永久在线精品免费网址| 亚洲а∨天堂久久精品| 亚洲高清国产AV拍精品青青草原| 久久久久亚洲精品天堂| 亚洲AV成人精品网站在线播放|