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

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

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

    posts - 108,comments - 56,trackbacks - 0
    一、由于XMLHttpRequest不是一個W3C標準,所以可以采用多種方法使用JavaScript來創建XMLHttpRequest的實例。IE把XMLHttpRequest實現為一個ActiveX對象,其他瀏覽器(如FireFox,Safari和Opera)把它實現為一個本地JavaScript對象。由于存在這些差別,JavaScript代碼中必須包含有關的邏輯,從而使用ActiveX或者使用本地JavaScript對象技術來創建XMLHttpRequest的一個實例。

    二、標準XMLHttpRequest操作
      abort():停止當前請求;
      getAllResponseHeaders():把HTTP請求的所有的響應首部作為鍵/值對返回;
      getResponseHeader(STring header):返回指定首部的串值;
      open(String method,String url,boolean asynch,String username,String password):建立對服務器的調用,method可以是get,pos或put。url參數可以是相對url或絕對url,后面三個參數是可選的。asynch表示這個調用是異步的還是同步的,默認是true,表示請求本質上是異步的,如果這個參數為false,處理就會等待,直到從服務器返回響應為止。由于異步調用是使用Ajax的主要優勢之一,所以倘若將這個參數設置為false,從某種程度上講與使用XMLHttpRequest對象的初衷不太相符。不過,在某些情況下設置這個參數為false也是有用的,比如在持久存儲頁面之前可以先驗證用戶的輸入。最后兩個參數允許指定一個特定的用戶名和密碼。
      void send(content):這個方法具體想服務器發出請求,如果請求聲明為異步的,這個方法就會立即返回,否則它會等待直到結束到響應為止。可選參數可以是DOM對象的實例,輸入流,或者串。傳入這個方法的內容會作為請求體的一部分發送。
           void setRequestHeader(String header,String value):這個方法為HTTP請求中一個給定的首部設置值。注意,這個方法必須在調用open()之后才能調用。
           String getAllResponseHeaders():這個方法返回一個串,其中包含HTTP請求的所有首部,包括Content-Length、date和url。

    三、標準XMLHttpRequest屬性
      onreadystatechange:每個狀態改變時都會觸發這個事件器,通常會調用一個javaScript函數;
      readyState:請求的狀態。有5個可選值:0=未初始化,1=正在加載,2=已加載,3=交互中,4=完成;
      responseText:服務器的響應,表示為一個串;
      responseXMl:服務器的響應,表示為XML,這個對象可以解析為一個DOM對象;
      status:服務器的HTTP狀態碼(200對應OK,404對應Not Found(未找到),等等);
      statusText:HTTP狀態碼的相應文本(OK或Not Found等等);

    四、用于處理XML文檔的DOM元素屬性
      childNodes:返回當前元素的所有子元素的數組;
      firstChild:返回當前元素的第一個下級子元素;
      lastChild:返回當前元素的最后一個子元素;
      nextSibling:返回當前元素后面的元素(下一個兄弟);
      nodeValue:指定表示元素值的讀/寫屬性;
      parentNode:返回當前元素的父節點;
      previousSibling:返回當前元素的前一個元素(前一個兄弟);

    五、用于遍歷XML文檔的DOM元素方法
      getElementById(id):獲取有唯一ID屬性值文檔中的元素;
      getElementsByTagName(name):返回當前元素中有指定標記名的子元素的數組;
      hasChildNodes():返回一個布爾值,表示元素是否還有子元素;
      getAttribute(name):返回元素的屬性值,屬性有name指定;

    六、動態創建內容時常用到的DOM屬性和方法
      document.createElement(tageName):創建由tagName指定的元素;
      document.createTextNode(text):創建一個包含靜態文本的節點;
      <element>.appendChild(childNode):給當前元素增加一個子節點;
      <element>.getAttribute(name):獲取name屬性;
      <element>.setAttribute(name,value):設置name屬性的值;
      <element>.insertBefore(newNode,targetNode):把節點newNode作為當前元素的子節點插入帶targetNode元素的前面
      <element>.removeAttribute(name):這個方法從元素中刪除屬性name;
      <element>.removeChild(childNode):刪除子元素;
      <element>.replaceChild(newNode,oldNode):替換節點;

    七、判斷IE瀏覽器
      IE能識別出名為uniqueID的document對象的專用屬性,IE也是唯一能識別這個屬性的瀏覽器,所以使用這個屬性可以確定瀏覽器,例如:
      if(document.uniqueID){//IE
      var radioButton=document.createElement("<input type='radio' name='radioButton' value='checked'>");
    }
    else{
      var radioButton=document.createElement("input");
      radioButton.setAttribute("type","radio");
      radioButton.setAttribute("name","radioButton");
      radioButton.setAttribute("value","checked");
    }

    八、Struts+AJAX實例:
       1、簡單的返回文本
       Struts端:(頁面JS端讀取responseText)
    /**
     * 檢測VIP客戶網址
     * (-2:處理出錯,-1:沒有數據,0:有客戶數據且不是VIP,1:已經是VIP)
     
    */
    public void checkVipuser(ActionMapping actionMapping,ActionForm actionForm,HttpServletRequest request,
    HttpServletResponse response) {
      PrintWriter out
    =null;
      
    int result=-2;
      
    try{
        out 
    = response.getWriter();
        String weburl
    =request.getParameter("weburl");
        
    //后臺處理(省略)
        out.print(result);
        out.flush();
        out.close();
      }
    catch(Exception e){
        e.printStackTrace();
      }
    }
       2、返回XML
       Struts端:(頁面JS端讀取responseXML)
    public void searchEmployee(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){
      response.setContentType(
    "text/xml;charset=utf-8");
      PrintWriterout
    =null;
      
    try{
        out
    =response.getWriter();
        out.print(
    "<?xmlversion=\"1.0\"encoding=\"utf-8\"?>");
        out.print(
    "<rootnode>");
        out.print(
    "<pro1='valu1' pro2='valu2' pro3='valu3' pro4='valu4'/>");
        out.print(
    "</rootnode>");
        out.flush();
        out.close();
      }
    catch(Exceptione){
        e.printStackTrace();
        out.print(
    "<?xmlversion=\"1.0\"encoding=\"utf-8\"?>");
        out.flush();
        out.close();
      }    
    }
    posted on 2007-05-30 16:24 破繭而出 閱讀(461) 評論(0)  編輯  收藏 所屬分類: AJAX

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AV永久无码精品一福利| 9久久免费国产精品特黄| 午夜电影免费观看| 免费精品视频在线| 久久亚洲国产视频| 国外成人免费高清激情视频| 一级女性全黄生活片免费看| 亚洲天堂视频在线观看| 在线日韩av永久免费观看| 成人影片一区免费观看| 亚洲一区在线观看视频| 亚洲国产成人久久综合一区77| 国产成人精品无码免费看 | AV在线亚洲男人的天堂| 在线观看的免费网站无遮挡| 国产成人精品久久亚洲高清不卡| 亚洲AV无码乱码国产麻豆| 日韩a在线观看免费观看| 日韩免费在线视频| 特级av毛片免费观看| 亚洲同性男gay网站在线观看| 亚洲日本在线观看视频| 国产一精品一AV一免费孕妇| a视频免费在线观看| 豆国产96在线|亚洲| 亚洲精品福利在线观看| 国产亚洲人成A在线V网站| 日韩免费一级毛片| 亚洲日本在线免费观看| 久久久久国色AV免费观看| 中国china体内裑精亚洲日本| 亚洲AV无码一区二区乱子伦| 免费吃奶摸下激烈视频| 国产精品视频永久免费播放| 精品免费tv久久久久久久| 老司机午夜在线视频免费观| 亚洲国产精品免费观看| 亚洲白色白色永久观看| 亚洲AV无码国产在丝袜线观看 | 国产成人精品亚洲2020| 久久精品国产亚洲AV果冻传媒|