亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

淺談使用XMLHttpRequest與DOM對象

2024-09-05 20:54:46
字體:
來源:轉載
供稿:網友
XMLHttpRequest對象

在使用XMLHttpRequest對象發送請求和處理響應之前,必須先用JavaScript創建一個XMLHttpRequest對象。由于XMLHttpRequest不是一個W3C標準,所以可以采用多種方法使用JavaScript來創建XMLHttpRequest的實例。IE把XMLHttpRequest實現一個ActiveX對象,其他瀏覽器(如Firefox、Safari和Opera)把他實現為一個本地JavaScript對象。由于存在這些差別,JavaScript代碼中必須包含有關的邏輯,從而使用ActiveX技術或者使用本地JavaScript對象技術來創建XMLHttpRequest的一個事例。

如果瀏覽器支持ActiveX對象,就可以使用ActiveX來創建XMLHttpRequest對象。否則,就要使用本地JavaScript對象技術來創建。代碼清單2-1展示了編寫跨瀏覽器的JavaScript代碼來創建XMLHttpRequest對象實例。

代碼清單2-1 創建XMLHttpRequest對象的一個實例
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}

可以看到,創建XMLHttpRequest對象相當容易。首先,要創建一個全局作用域變量xmlHttp來保存這個對象的引用。createXMLHttpRequest方法完成創建XMLHttpRequest實例的具體工作。這個方法只有簡單的分支邏輯(選擇邏輯)來確定如果創建對象。對window.ActiveXObject的調用會返回一個對象,也可能返回null,if語句會把調用返回的結果看作是true或false(如果返回對象則為true,返回null則為false),以此指示瀏覽器是否支持ActiveX控件,相應地得知瀏覽器是不是IE。如果確定是,則通過實例化ActiveXObject的一個新實例來創建XMLHttpRequest對象,并傳入一個串指示要創建何種類型的ActiveX對象。在這個例子中,為構造函數提供的字符串是Microsoft.XMLHTTP,這說明我們想創建XMLHttpRequest的一個實例。

如果window.ActiveXObject調用失敗(返回null),JavaScript就會轉到else語句分支,確定瀏覽器是否把XMLHttpRequest實現為一個本地JavaScript對象。如果存在window.XMLHttpRequest,就會創建XMLHttpRequest的一個實例。

XMLHttpRequest對象的屬性:
onreadystatechange 狀態改變的事件觸發器
readyState 對象狀態(integer): 0 = 未初始化 1 = 讀取中 2 = 已讀取 3 = 交互中 4 = 完成
responseText 服務器進程返回數據的文本版本
responseXML 服務器進程返回數據的兼容DOM的XML文檔對象
status 服務器返回的狀態碼, 如:404 = "文件未找到" 、200 ="成功"
statusText 服務器返回的狀態文本信息


XMLHttpRequest對象的方法:
abort() 停止當前請求
getAllResponseHeaders() 作為字符串返回完整的headers
getResponseHeader("headerLabel") 作為字符串返回單個的header標簽
open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 設置未決的請求的目標 URL,方法,和其他參數
send(content) 發送請求
setRequestHeader("label", "value") 設置header并和請求一起發送


方法的詳細說明:
void open(string method,string url,boolean asynch,string username,string password):
這個方法會建立對服務器的調用。這是初始化一個請求的純腳本方法,它有兩個必要參數,還有3個可選參數。要提供調用的特定方法(GET、POST 或 PUT),還要提供所調用資源的URL。另外還可以傳遞一個Boolean值,指示這個調用是異步的還是同步的。默認值為true,表示請求本質上是異步的。如果這個參數為false,處理就會等待,直到從服務器返回響應為止。由于異步調用是使用Ajax的主要優勢之一,所以倘若這個參數設置為false,從某種程度上XMLHttpRequest對象的初衷不太相符。不過,前面已經說過,在某些情況下這個參數設置為false也是有用的,比如在持久存儲頁面之前可以先驗證用戶的輸入。最后兩個參數不說自明,允許你指定一個特定的用戶名和密碼。

void send(content):
這個方法具體向服務器發出請求。如果請求聲明為異步的,這個方法就會立即返回,否則它會等待直到接收到響應為止??蛇x參數可以是DOM對象的實例、輸入流、或者串。傳入這個方法的內容會作為請求體的一部分發送。

void serRequestHeader(string header,string value):
這個方法為HTTP請求中一個指定的首部設置值。他有兩個參數,第一個串表示要設置的首部,第二個串表示要在首部中放置的值。需要說明,這個方法的內容會作為請求體的一部分發送。

void abort():
顧名思義,這個方法就是要停止請求。

string getAllResponseHeaders():
這個方法的核心功能對Web應用開發人員應該很熟悉了,它返回一個串,其中包含HTTP請求的所有響應首部,首部包括ContentLength、Date和URI。

string getResponseHeader(string header):
這個方法與getAllResponseHeaders()是對應的,不過它有一個參數表示你希望得到的指定首部值,并且把這個值作為串返回。

DOM對象

文檔對象模型是與平臺和語言無關的接口,允許程序和腳本動態地訪問和更新文檔的內容,結構和樣式。文檔可以進一步處理,處理的結果可以放回到所提供的頁面中。如果服務端返回的是XML,使用responseXML即可直接創建DOM來操作這個文件。
childNodes 返回當前元素所有子元素集合
firstChil 返回當前元素的第一個子元素
lastChild 返回當前元素的最后一個子元素
nextSibling 返回緊跟在當前元素后面的元素(平級)
previousSibling 返回緊跟在當前元素之前的元素(平級)
nodeValue 指定表示元素值的讀/寫屬性
parentNode 返回元素的父節點


DOM對象的方法:
getElementById(id) (document) 獲取有指定唯一ID屬性值文檔中的元素
getElementsByTagName(name) 返回當前元素中有指定標記名的子元素的集合
hasChildNodes() 返回一個布爾值,指示元素是否有子元素
getAttribute(name) 返回元素的屬性值,屬性由name指定


動態創建內容所用的W3C DOM屬性和方法
document.createElement(tagName) 文檔對象上的createElement方法可以創建由tagName指定的元素。如果以串div作為方法參數,就會生成一個div元素
document.createTextNode(text) 文檔對象的createTextNode方法會創建一個包含靜態文本的節點
element.appendChild(childNode) appendChild方法將指定的節點childNode增加到當前元素的子節點列表
element.getAttribut(name)
element.setAttribut(name, value)獲取和設置元素中name屬性的值
element.insertBefore(newNode, targetNode) 這個方法將節點newNode作為當前元素的子節點插到targetNode元素前面
element.removeAttribute(name) 這個方法從元素中刪除屬性name
element.removeChild(childNode) 從元素中刪除子元素childNode
element.replaceChild(newNode,oldNode) 將節點oldNode替換為節點newNode
element.hasChildnodes() 返回一個布爾值,指示元素是否有子元素
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩中国免费专区在线看| 亚洲精品白浆高清久久久久久| 国产欧美日韩91| 亚洲精品久久久久久久久久久久| 97国产一区二区精品久久呦| 国产精品视频一| 菠萝蜜影院一区二区免费| 欧美在线免费观看| 亚洲综合日韩中文字幕v在线| 国产日韩精品电影| 久久久久久久久亚洲| 92福利视频午夜1000合集在线观看| 国产亚洲精品综合一区91| 最近日韩中文字幕中文| 精品成人久久av| 欧美日韩一区二区免费视频| 丰满岳妇乱一区二区三区| 91精品久久久久久久久久久久久久| 中文字幕精品一区久久久久| 超碰91人人草人人干| 亚洲人成网站777色婷婷| 中文字幕亚洲情99在线| 菠萝蜜影院一区二区免费| 日韩视频精品在线| 中文字幕日韩欧美精品在线观看| yw.139尤物在线精品视频| 欧美黑人一级爽快片淫片高清| 91国产精品91| 欧美日韩国产va另类| 欧美激情一级精品国产| 亚洲欧美综合区自拍另类| 国产日产久久高清欧美一区| 美女扒开尿口让男人操亚洲视频网站| 欧美激情在线有限公司| 国产精品国产亚洲伊人久久| 九九热这里只有精品免费看| 欧美一区二区影院| 欧美黑人巨大xxx极品| 久久精品国产亚洲一区二区| 日韩成人激情视频| 国产成人精品免高潮在线观看| 亚洲欧美国产精品| 91国内免费在线视频| 国产情人节一区| 国产精品中文在线| 亚洲国产精品美女| 国产一区二区丝袜高跟鞋图片| 91超碰中文字幕久久精品| 57pao成人永久免费视频| 深夜福利91大全| 国产一区二区三区毛片| 国产一区二区三区欧美| 亚洲第一精品电影| 日本一区二区三区四区视频| 日韩精品在线观| 中文字幕日韩免费视频| 国产美女久久精品| 久久综合伊人77777| 欧美国产精品va在线观看| 日韩国产精品一区| 国产精品久久久久久久久久小说| 福利一区福利二区微拍刺激| 欧美日韩亚洲视频一区| 在线精品国产成人综合| 国内精品久久久久影院 日本资源| 亚洲欧美日韩直播| 欧美巨大黑人极品精男| 亚洲日本欧美中文幕| 久久精品91久久久久久再现| 国产日韩综合一区二区性色av| 97在线日本国产| 国产精品揄拍500视频| 亚洲精品乱码久久久久久按摩观| 一区二区三区回区在观看免费视频| 2019精品视频| 亚洲国产女人aaa毛片在线| 国产精品夫妻激情| 亚洲国产精彩中文乱码av在线播放| 久久久电影免费观看完整版| 黄色精品在线看| 亚洲综合最新在线| 日韩在线精品一区| 色在人av网站天堂精品| 久久综合伊人77777蜜臀| 欧美在线视频免费观看| 国产成人久久久| 国产精品激情av电影在线观看| 国产欧美精品一区二区三区介绍| 精品露脸国产偷人在视频| 欧美华人在线视频| 91av在线播放| 国产欧美 在线欧美| 欧美极品少妇xxxxⅹ裸体艺术| 欧美在线观看www| 日本亚洲欧美三级| 久精品免费视频| 欧美影院成年免费版| 国产精品女人网站| 欧美专区在线观看| 欧美日韩亚洲系列| 国产精品扒开腿做| 亚洲一区二区福利| 国产精品久久久91| 日韩av在线影院| 国产成人一区二区三区小说| 欧美激情视频在线观看| 成年无码av片在线| 国产精品日韩欧美| 亚洲人成77777在线观看网| 色偷偷噜噜噜亚洲男人的天堂| 日韩免费中文字幕| 亚洲最大av在线| 日av在线播放中文不卡| 久久免费视频观看| 国产日韩av高清| 国产97在线|日韩| 国产在线观看91精品一区| 亚洲国产另类 国产精品国产免费| 久久理论片午夜琪琪电影网| 国产日韩欧美影视| 538国产精品视频一区二区| 日韩中文有码在线视频| 国产精品在线看| 亚洲欧美在线第一页| 欧美成人免费视频| 日韩精品极品视频免费观看| 成人午夜一级二级三级| 日韩毛片在线观看| 黑人极品videos精品欧美裸| 日韩免费av一区二区| 成人精品视频99在线观看免费| 超在线视频97| 国产精品美女网站| 日韩欧美在线字幕| 欧美性生交大片免网| 日韩av在线网| 夜夜狂射影院欧美极品| 久久精品国产亚洲| 欧美成人在线影院| 欧美尺度大的性做爰视频| 亚洲国产精品va在线看黑人| 欧美亚洲成人网| 亚洲精品美女免费| 69久久夜色精品国产69| 色777狠狠综合秋免鲁丝| 精品国产一区二区三区四区在线观看| 97视频网站入口| 精品视频—区二区三区免费| 91免费高清视频| 中文字幕日韩欧美精品在线观看| 91精品国产99久久久久久| 亚洲精品乱码久久久久久金桔影视| 亚洲第一男人av| 日本一欧美一欧美一亚洲视频| 国产成人精品免高潮在线观看| 91天堂在线视频| 中文字幕成人精品久久不卡| 韩剧1988在线观看免费完整版| 色yeye香蕉凹凸一区二区av| 热re91久久精品国99热蜜臀| 91精品国产高清| 欧美视频一区二区三区…| 欧美日韩国产一区在线| 国内外成人免费激情在线视频网站|