|
在基于Mozilla的浏览器中使用XMLHttpRequest对象(1) IE通过允许开发人员在Web页面内部使用安全的ActiveX组件扩展自身的功能。微软在无状态连接方面的产品是XMLHTTP组件。
使用XMLHTTP组件,开发人员可以不用从当前的Web页面导航而直接传输数据到服务器上或者从服务器取数据。这个功能是重要的,因为它帮助减少了无状态连接的痛苦。它还可以排除下载冗余HTML的需要,从而提高进程的速度。
Mozilla做出的回应是创建它自己的继承XML代理类:XMLHttpRequest类。对于大多数情况,XMLHttpRequest对象的行为很像XMLHTTP组件。这就意味着你可以使用很多与XMLHTTP组件相同的帮助信息。方法和属性类似,然而,所有的方法和属性都是以小写字母开头,并且还有一些属性不支持。
下面是一个使用eXtensible Binding Language(XBL)将一个行为绑定到一个<INPUT>元素来更新XML数据岛的简单例子。数据被发送到服务器处理。
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);
|