<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 破繭而出 閱讀(468) 評論(0)  編輯  收藏 所屬分類: AJAX

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


    網站導航:
     
    主站蜘蛛池模板: 国产成人精品免费视频软件| 亚洲国产一级在线观看 | 国产精品嫩草影院免费| 精品亚洲AV无码一区二区三区 | 亚洲VA中文字幕无码一二三区 | 亚洲 日韩 色 图网站| 亚洲天堂免费在线视频| 9420免费高清在线视频| 亚洲v国产v天堂a无码久久| 国产青草亚洲香蕉精品久久| 国产精品无码素人福利免费 | 亚洲天然素人无码专区| 好爽…又高潮了免费毛片| 亚洲国产精品网站在线播放| 国产青草视频在线观看免费影院| 国产精品亚洲片在线花蝴蝶| 亚洲AV无码之日韩精品| 最近免费字幕中文大全| 免费观看的毛片手机视频| 亚洲av片在线观看| gogo全球高清大胆亚洲| 免费在线观影网站| 亚洲成人一级电影| 久久久久久久久久国产精品免费 | 免费人成网站在线播放| 中文字幕乱码系列免费| 亚洲高清中文字幕综合网| 性xxxx视频播放免费| 一级黄色免费毛片| 亚洲人成电影亚洲人成9999网| 2019中文字幕在线电影免费| 亚洲中久无码永久在线观看同| 亚洲国产av美女网站| 日韩免费一区二区三区| 亚洲人成伊人成综合网久久| 国产成人高清精品免费软件| 色www永久免费| 亚洲欧美日本韩国| 在线A级毛片无码免费真人| 一个人看的www免费在线视频 | 亚洲欧洲专线一区|