当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在基于Mozilla的浏览器中使用XMLHttpRequest对象

ASP
ASP六大对象介绍
使用Filter实现信息的二次检索
让弹出窗口变得“听话”一些
在ASP中利用“正则表达式” 对象实现UBB风格的论坛
“Web 匿名用户”帐户密码的位置
对一些编程初学者的良言警句
ASP编程中15个非常有用的例子
精彩:ASP遗留的二十大积习
关于Asp代码与页面的分离
教大家如何利用ASP打造网站论坛DIY(1)
教大家如何利用ASP打造网站论坛DIY(2)
网站安全:防范ASP木马的十大基本原则
用ASP设计一个留言薄
趣味访客计数器设计两则
我的ASP之旅—二级联动菜单制作
ASP编程--新手上路篇:ASP技术简介
用ASP实现网上考试系统
请注意!常见的ASP脚本攻击及防范技巧
ASP开发的WAP格式简易邮件系统实例
asp基础教程:网页间数据传递方法小结

ASP 中的 在基于Mozilla的浏览器中使用XMLHttpRequest对象


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 172 ::
收藏到网摘: n/a

 

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);
    }
}
//-->
</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文件创建一个XML数据岛,创建的数据岛有一个重要节点:link_data。而且,这个HTML的表现会创建一个文本框和一个用于创建发送XML数据给服务器的事件的按钮。

IE允许你嵌入XML数据岛并使用那个数据岛将绑定HTML元素到底层的数据。Mozilla靠XBL为每个元素创建行为。使用XBL,你可以为<INPUT>元素创建一个行为,所以在onChange事件发生时,“bound”XML节点就能够被更新。“linkedData”样式类通知Mozilla文件link_data.xml将要被用来创建绑定。这个类是在<INPUT TYPE=”text” … >元素中使用的。

如果你分析link_data.xml的代码,你会注意到onchange事件处理