六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

在基于Mozilla的瀏覽器中使用XMLHttpRequest對象

[摘要]IE通過允許開發(fā)人員在Web頁面內(nèi)部使用安全的ActiveX組件擴(kuò)展自身的功能。微軟在無狀態(tài)連接方面的產(chǎn)品是XMLHTTP組件。使用XMLHTTP組件,開發(fā)人員可以不用從當(dāng)前的Web頁面導(dǎo)航而直接傳...

IE通過允許開發(fā)人員在Web頁面內(nèi)部使用安全的ActiveX組件擴(kuò)展自身的功能。微軟在無狀態(tài)連接方面的產(chǎn)品是XMLHTTP組件。

使用XMLHTTP組件,開發(fā)人員可以不用從當(dāng)前的Web頁面導(dǎo)航而直接傳輸數(shù)據(jù)到服務(wù)器上或者從服務(wù)器取數(shù)據(jù)。這個功能是重要的,因?yàn)樗鼛椭鷾p少了無狀態(tài)連接的痛苦。它還可以排除下載冗余HTML的需要,從而提高進(jìn)程的速度。

Mozilla做出的回應(yīng)是創(chuàng)建它自己的繼承XML代理類:XMLHttpRequest類。對于大多數(shù)情況,XMLHttpRequest對象的行為很像XMLHTTP組件。這就意味著你可以使用很多與XMLHTTP組件相同的幫助信息。方法和屬性類似,然而,所有的方法和屬性都是以小寫字母開頭,并且還有一些屬性不支持。

下面是一個使用eXtensible Binding Language(XBL)將一個行為綁定到一個<INPUT>元素來更新XML數(shù)據(jù)島的簡單例子。數(shù)據(jù)被發(fā)送到服務(wù)器處理。

xml_http.asp:

<%@ Language=VBScript %>
<%
Response.Expires = -1
If Request("action") = "update" Then
    Dim xml
    Set xml = Server.CreateObject("MSXML2.DOMDocument")
    xml.load Request
    Response.Writexml.xml
    Set xml = Nothing
    Response.End
End If
%>
<html>
<head>
<style>
.linkedData {
    -moz-binding: url(link_data.xml#link);
}
</style>
<script language="JavaScript">
<!--
function test() {
    var xml = document.getElementById("xmlData");
    if (xml != null) {
        varxmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", "xml_http.asp?action=update", false);
        xmlhttp.send(xml.innerHTML);
        alert(xmlhttp.responseText);
    }
}
//-->
</script>
</head>
<body>

<xml id="xmlData" name="xmlData" style="visibility:hidden;">
    <root>
        <link_data/>
    </root>
</xml>

<form id="thisForm" name="thisForm">

<input type="text" class="linkedData" name="txtLink" id="txtLink" size="25">
<br>
<input type="button" value="Test" onclick="test()">

</form>

</body>
</html>

link_data.xml:

<?xml version="1.0"?>
<xbl:bindingsxmlns:xbl="http://www.mozilla.org/xbl">
    <xbl:binding id="link">
        <xbl:handlers>
            <xbl:handler event="change">
                var xml = document.getElementById("xmlData");
                var root = xml.childNodes[1];
                varlink_data = root.childNodes[1];
                link_data.childNodes[0].nodeValue = event.originalTarget.value;
            </xbl:handler>
        </xbl:handlers>
    </xbl:binding>
</xbl:bindings>
 


xml_http.asp文件創(chuàng)建一個XML數(shù)據(jù)島,創(chuàng)建的數(shù)據(jù)島有一個重要節(jié)點(diǎn):link_data。而且,這個HTML的表現(xiàn)會創(chuàng)建一個文本框和一個用于創(chuàng)建發(fā)送XML數(shù)據(jù)給服務(wù)器的事件的按鈕。

IE允許你嵌入XML數(shù)據(jù)島并使用那個數(shù)據(jù)島將綁定HTML元素到底層的數(shù)據(jù)。Mozilla靠XBL為每個元素創(chuàng)建行為。使用XBL,你可以為<INPUT>元素創(chuàng)建一個行為,所以在onChange事件發(fā)生時(shí),“bound”XML節(jié)點(diǎn)就能夠被更新。“l(fā)inkedData”樣式類通知Mozilla文件link_data.xml將要被用來創(chuàng)建綁定。這個類是在<INPUT TYPE=”text” … >元素中使用的。

如果你分析link_data.xml的代碼,你會注意到onchange事件處理程序只是簡單地獲取XML數(shù)據(jù)島的link_data節(jié)點(diǎn)然后更新text節(jié)點(diǎn)的值。對于這個解決方案這是一個非常簡單的方法;它只在文本框中的值有改動之后才會更新數(shù)據(jù)。這不屬于two-way綁定機(jī)制,因?yàn)槿绻?jié)點(diǎn)的值改變了,其改變不會反映到文本框。

當(dāng)用戶點(diǎn)擊Test按鈕的時(shí)候,奇怪的事情發(fā)生了。一個新的XMLHttpRequest對象被創(chuàng)建用來向服務(wù)器改善XML數(shù)據(jù)。然后,就像XMLHTTP組件在IE中的工作方式一樣,你使用open()方法打開遠(yuǎn)程頁面。在這個例子中,我添加了一個查詢字符串到xml_http.asp頁面中,所以我可以使用同一個頁面處理XML傳輸。使用send()方法,我傳遞xmlData數(shù)據(jù)島的innerHTML。(在IE中,這與指定xmlData數(shù)據(jù)島的XML屬性一樣)。

在xml_http.asp頁面被裝載時(shí),它檢查“action”參數(shù)是否傳遞給頁面,并且那個參數(shù)是否等于“update”。如果是——就是在我們發(fā)出XMLHttpRequest請求的時(shí)候——它創(chuàng)建一個DOMDocument組件,從Request對象裝載XML,然后返回DOMDocument的xml。Request對象暴露出IStream接口,允許DOMDocument直接從Request對象裝載xml。(在另外一種語言中,你可以使用從HTTP請求中發(fā)送過來的POST數(shù)據(jù)。)

這是一個非常簡單的例子,說明了Mozilla的XML能力。在Mozilla中操作XML的其中一個缺點(diǎn)就是文檔不怎么樣。不過上面已經(jīng)提到過,對于絕大多數(shù)部分,你可以使用針對微軟的XMLHTTP組件的文檔。

 




主站蜘蛛池模板: 天天操天天射天天 | 亚洲欧美日韩精品久久久 | 一级黄色大片免费 | 欧洲亚洲一区 | 欧美夜夜骑 | 日本一道高清不卡免费 | 尹人久久久香蕉精品 | 亚洲精品在线不卡 | 四虎精品视频 | 亚洲乱码一区二区三区国产精品 | 一级香蕉视频在线观看 | 中文字幕在线看视频一区二区三区 | 亚洲第一激情 | 中文有码中文字幕免费视频 | 三级国产在线观看 | 五月婷婷 六月丁香 | 香蕉视频久久久 | 天天久久狠狠色综合 | 日韩精品亚洲人成在线播放 | 日韩精品小视频 | 最近新韩国日本免费看 | 欧美一区二区三区日韩免费播 | 奇米网狠狠网 | 人人爽天天碰天天躁夜夜躁 | 日日摸夜夜搂人人要 | 亚洲精品另类有吗中文字幕 | 亚洲精品综合在线 | 一区二区免费视频 | 午夜丁香影院 | 色噜噜狠狠狠狠色综合久一 | 日韩欧美精品综合一区二区三区 | 婷婷综合久久狠狠色99h | 手机看片自拍自拍自拍自视频 | 日本在线视频一区 | 青青草亚洲| 欧美午夜在线视频 | 亚洲人成亚洲精品 | 午夜精品久久久久久久2023 | 日本在线观看一区二区三区 | 中文字幕一区婷婷久久 | 欧美在线国产 |