<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不是一個(gè)W3C標(biāo)準(zhǔn),所以可以采用多種方法使用JavaScript來(lái)創(chuàng)建XMLHttpRequest的實(shí)例。IE把XMLHttpRequest實(shí)現(xiàn)為一個(gè)ActiveX對(duì)象,其他瀏覽器(如FireFox,Safari和Opera)把它實(shí)現(xiàn)為一個(gè)本地JavaScript對(duì)象。由于存在這些差別,JavaScript代碼中必須包含有關(guān)的邏輯,從而使用ActiveX或者使用本地JavaScript對(duì)象技術(shù)來(lái)創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。

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

    三、標(biāo)準(zhǔn)XMLHttpRequest屬性
      onreadystatechange:每個(gè)狀態(tài)改變時(shí)都會(huì)觸發(fā)這個(gè)事件器,通常會(huì)調(diào)用一個(gè)javaScript函數(shù);
      readyState:請(qǐng)求的狀態(tài)。有5個(gè)可選值:0=未初始化,1=正在加載,2=已加載,3=交互中,4=完成;
      responseText:服務(wù)器的響應(yīng),表示為一個(gè)串;
      responseXMl:服務(wù)器的響應(yīng),表示為XML,這個(gè)對(duì)象可以解析為一個(gè)DOM對(duì)象;
      status:服務(wù)器的HTTP狀態(tài)碼(200對(duì)應(yīng)OK,404對(duì)應(yīng)Not Found(未找到),等等);
      statusText:HTTP狀態(tài)碼的相應(yīng)文本(OK或Not Found等等);

    四、用于處理XML文檔的DOM元素屬性
      childNodes:返回當(dāng)前元素的所有子元素的數(shù)組;
      firstChild:返回當(dāng)前元素的第一個(gè)下級(jí)子元素;
      lastChild:返回當(dāng)前元素的最后一個(gè)子元素;
      nextSibling:返回當(dāng)前元素后面的元素(下一個(gè)兄弟);
      nodeValue:指定表示元素值的讀/寫(xiě)屬性;
      parentNode:返回當(dāng)前元素的父節(jié)點(diǎn);
      previousSibling:返回當(dāng)前元素的前一個(gè)元素(前一個(gè)兄弟);

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

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

    七、判斷IE瀏覽器
      IE能識(shí)別出名為uniqueID的document對(duì)象的專(zhuān)用屬性,IE也是唯一能識(shí)別這個(gè)屬性的瀏覽器,所以使用這個(gè)屬性可以確定瀏覽器,例如:
      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實(shí)例:
       1、簡(jiǎn)單的返回文本
       Struts端:(頁(yè)面JS端讀取responseText)
    /**
     * 檢測(cè)VIP客戶(hù)網(wǎng)址
     * (-2:處理出錯(cuò),-1:沒(méi)有數(shù)據(jù),0:有客戶(hù)數(shù)據(jù)且不是VIP,1:已經(jīng)是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");
        
    //后臺(tái)處理(省略)
        out.print(result);
        out.flush();
        out.close();
      }
    catch(Exception e){
        e.printStackTrace();
      }
    }
       2、返回XML
       Struts端:(頁(yè)面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 破繭而出 閱讀(460) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): AJAX

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品亚洲人成在线观看| 久久亚洲伊人中字综合精品| 国产成人精品免费视频大全| 久久99国产亚洲高清观看首页| www.999精品视频观看免费| 美女被艹免费视频| 久久精品国产96精品亚洲| 思思99re66在线精品免费观看| 一边摸一边爽一边叫床免费视频 | 亚洲第一成人影院| 亚洲午夜免费视频| 国产精品亚洲а∨无码播放不卡| 国产亚洲真人做受在线观看| 国语成本人片免费av无码| a级日本高清免费看| 久久亚洲中文字幕无码| 久久久久亚洲精品日久生情 | 日本激情猛烈在线看免费观看| 亚洲av激情无码专区在线播放| 性做久久久久免费观看| 91人人区免费区人人| 亚洲日韩在线观看免费视频| 亚洲av无码片在线观看| 国产亚洲综合一区柠檬导航| 午夜国产羞羞视频免费网站| 97视频免费在线| 免费在线黄色电影| 黄色毛片免费观看| 亚洲成A人片在线播放器| 亚洲av最新在线网址| 亚洲第一成人影院| 日韩一级免费视频| 国产91色综合久久免费分享| 97在线免费观看视频| 猫咪www免费人成网站| 成人亚洲国产va天堂| 亚洲五月激情综合图片区| 亚洲中文字幕丝袜制服一区| 日韩高清在线高清免费| 免费精品人在线二线三线区别 | 性xxxxx免费视频播放|