网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Ajax
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.AJAX、AJAX实例及AJAX源代码(as.
.关于IE缓存和AJAX的一点思考和疑.
.Ajax实现不刷屏的前提下实现页面.
.结合AJAX进行PHP开发之入门.
.更正用AJAX实现IE TREE无刷新取值.
.[四天学会ajax] 学习Ajax教程第二.
.从两方面看AJAX与B/S.
.AJAX之xmlHttp.
.利用AJAX技术实现网页无刷新进度.
.Ajax实现在textbox中输入内容,动.
.[四天学会ajax] 学习Ajax教程第三.
.Ajax光环背后的隐患.
.Ajax简单示例之改变下拉框动态生.
.网页数据的实时刷新.
.AJAX入门之深入理解JavaScript中.
.在ajax开发中集成数据库技术.
.ajax进度条.
.利用AJAX和ASP.NET实现简单聊天室 .
.ASP.NET AJAX RC Tip:页面中无U.
.利用Asp.net Ajax异步获取xml文档.

Ajax核心:XMLHTTP组件相关技术资料

发表日期:2007-1-30


Ajax核心:XMLHTTP组件相关技术资料

一、数据库远程管理技术

  基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: (推荐文章:AJAX专题)

  早期通过编写CGI-BIN程序模块进行数据库远程管理。但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用。

  这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好。但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册自己的组件。

  近年来由微软公司推出的.NET平台和SUN公司的J2EE平台都是非常高档的数据库远程管理与服务平台。都能提供优质的多层(n-Tier)应用服务。 其中,.NET的简单对象访问协议(Simple Object Access Protocol, SOAP)使用超文本传输协议(Hypertext Transfer Protocol, HTTP)和扩展标记语言(Extensible Markup Language, XML)技术实现跨系统(例如Windows - Linux)的通讯服务方式已经广为开发商接受和使用。许多大型应用,例如企业资源计划(Enterprise resource planning, ERP)等都建立在这样的大型平台之上。 但对于中小型应用,比如一个网站的建设和维护,这种大型应用平台就显得有些尾大不掉,开销也过于庞大。

  曾经在互联网技术和Java技术方面一度落后的微软公司在XML应用开发则走在了前头。她的XML解析器(MSXML)中的XMLHTTP协议是一个非常方便实用的客户/服务通讯管道。综合运用XMLHTTP以及ActiveX数据对象(ActiveX Data Objects, ADO/ADOX)可以简单方便地实现数据库远程管理。

  二、数据库远程管理体系

  数据库远程管理的任务流程是:

  1、客户端向服务端发出数据库结构和数据的查询或修改指令。

  2、服务端接受并执行有关指令并向客户端返回结果。

  3、客户端接受并显示服务端返回的指令执行结果。

  实现数据库远程管理的二个主要关键环节是:

  1、客户端与服务端之间的指令上传和结果下传的数据通道,由XMLHTTP协议实现。

  2、服务端前沿与数据库之间的指令传送和结果返回,由起着中间层作用的ADO/ADOX接口完成。

  三、XMLHTTP的使用

  顾名思义,XMLHTTP是个传送XML格式数据的超文本传输协议。

  实际上,XMLHTTP的数据传输过程更为灵活一些:

  它上传的指令可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。还可以是URL的参数。

  它下达的结果可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。

  详情可参阅文末链接。

  客户端调用XMLHTTP的过程很简单,只有5个步骤:

  1、创建XMLHTTP对象

  2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。

  客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。

  3、发送指令。

  4、等待并接收服务端返回的处理结果。

  5、释放XMLHTTP对象

  XMLHTTP方法

  Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

  bstrMethod:数据传送方式,即GET或POST。

  bstrUrl:服务网页的URL。

  varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。应用中一般将其置为False,即异步执行。

  bstrUser:用户名,可省略。

  bstrPassword:用户口令,可省略。

  Send varBody

  varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

  setRequestHeader bstrHeader, bstrValue

  bstrHeader:HTTP 头(header)

  bstrValue:HTTP 头(header)的值

  如果Open方法定义为POST,可以定义表单方式上传xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

  XMLHTTP属性

  onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。

  responseBody:结果返回为无符号整数数组。

  responseStream:结果返回为IStream流。

  responseText :结果返回为字符串。

  responseXML:结果返回为XML格式数据。

  下面是本文附件源程序中的一个应用示例:

  Function GetResult(urlStr)

  Dim xmlHttp

  Dim retStr

  Set xmlHttp = CreateObject("Msxml2.XMLHTTP") '创建对象

  On Error Resume Next '出错处理

  xmlHttp.Open "POST", urlStr, False '用POST方式打开连接,异步执行。

  xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上传表单

  xmlHttp.Send '发送指令

  If Err.Number = 0 Then '如果连接正确

  retStr = xmlHttp.responseText '等待并获得服务端返回的结果字符串

  Else

  retStr = "Url not found" '否则返回出错信息

  End If

  Set xmlHttp = nothing '释放对象

  GetResult = retStr '返回结果

  End Function

  GetResult()函数带入一个服务网页的URL参数,把上传的指令安放在URL后面的参数上,如:

  urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table

  cmd:执行方式,例如查询,修改,删除等等。

  db:服务端数据库名

  table:服务端表名

  然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。最后由函数调用者处理并显示结果。
http://blog.csdn.net/daniao2003/archive/2007/01/29/1496908.aspx

上一篇:利用MS AJAX 扩展服务器端控件 人气:5424
下一篇:XMLHTTP对象封装技术 人气:7877
浏览全部Ajax的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐