<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 下載記憶 閱讀(429) 評論(1)  編輯  收藏 所屬分類: 學習

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

    永久記載下我的記憶

    http://www.jpai.cn


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

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 29329
    • 排名 - 1408

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 热久久这里是精品6免费观看| 日韩免费码中文在线观看| 久久久久久久岛国免费播放| 亚洲精品无码乱码成人| 国内精品免费久久影院| 亚洲中文字幕无码一区二区三区| 免费v片在线观看视频网站| 无码欧精品亚洲日韩一区| 国产亚洲精品91| 免费国产a国产片高清网站| 美女黄频免费网站| 亚洲一级片内射网站在线观看| 一级做a爱过程免费视频高清 | 综合在线免费视频| 亚洲av一本岛在线播放| 女性自慰aⅴ片高清免费| 亚洲AⅤ男人的天堂在线观看 | 夜夜嘿视频免费看| 国产精品亚洲综合网站| 久久精品国产精品亚洲人人| 91成人免费观看在线观看| 亚洲综合激情六月婷婷在线观看 | 免费国产不卡午夜福在线| 免费的黄网站男人的天堂| 亚洲色欲久久久综合网东京热| 中文字幕乱码免费看电影| 久久亚洲精品无码AV红樱桃| 最新欧洲大片免费在线| 亚洲欧洲春色校园另类小说| aa在线免费观看| 久久精品国产精品亚洲下载| 免费国产成人午夜在线观看| 亚洲中文久久精品无码1| 四虎永久成人免费影院域名| 亚洲国产av一区二区三区丶| 国产成人免费a在线资源| 华人在线精品免费观看| 国产精品亚洲午夜一区二区三区| 亚洲国产精品无码久久青草| 性xxxx视频免费播放直播| 亚洲欧美成人av在线观看|