XMLHTTP: 网站超级粘合剂

kzy6666

kzy6666

2016-02-19 14:49

下面这个XMLHTTP: 网站超级粘合剂教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

简介
   许多ASP开发者都希望在自己的网站中能够使用到微软提供的支持XML
  的新功能。其中,有些人发现可以使用XML来装饰网站,但是,如果仅仅
  是只使用XMLDOM的话,你就会失去其他一些更重要的东西。毕竟,XML是用来
  作为一种网上数据表现和数据交换的形象出现的。尽管使用XML可以非常满意
  地描绘你的数据,但是开发者却不得不使用CGI来进行浏览器和服务器之间的
  数据交换,除非你在浏览器端和客户端都使用XML文档。
   当然CGI从传达信息的角度来说是能够完全胜任的,但是如果要是和XML来
  一起使用的话就让XML失去了很多自己的用处。幸运的是,微软提供了一种更加
  有效的方法来传输XML,虽然该方法在很大程度上并不被人所重视。
   在微软提供的MSXML解释器包中有一系列的对象,也许没有人会重视其中的
  XMLHTTPConnection对象。简而言之,它允许你打开一个到服务器上的HTTP连接,
  发送一些数据和取回一些数据。并且所有的这一切都是在很少的几段脚本中就能够实现。
  使用XMLHTTP对象通常是进行XML数据交换,但其他格式的数据也是允许的。
  
  在商业程序中的运用
   这种交换类型的标准模式是客户端发送一个XML格式的文本字符串到服务端,
  然后服务端将这个字符串装载入一个XMLDOM对象中并且解释它,然后返回一段
  HTML给客户端,或则是另外一段XML代码给客户端让客户端的浏览器自己解释。
  在这种方式下,对于信息的传递来说是非常有效的形式,尤其是当你使用
  DHTML允许你根据返回信息动态显示时。
   举例如下(只能够运行在客户端和服务端都安装有IE5的情况下)
   %
   if (Request.ServerVariables("REQUEST_METHOD") == "POST" )
   {
   var req= Server.CreateObject("Microsoft.XMLDOM");
   req.async=false;
   req.load(Request);
   if (req.documentElement.nodeName=="timesheet")
   {
   //对数据随便进行一些处理。。。
   .....
   Response.write("h1Timesheet Updated!/h1b"+req.documentElement.text+"/b");
   }
   }
   else
   { %
  
   div id="divDisplay"The response will be put in here/div
   input type="button" onclick="sendData();" value="Send it!"
   script
   function sendData(){
   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   xmlhttp.Open("POST", "http://www.yoursite.com/thispage.asp", false);
   xmlhttp.Send("timesheetAn impossibly useless timesheet fragment/timesheet");
   divDisplay.innerHTML=xmlhttp.responseText;
   }
   /script
  % } %
  
   在上面的代码中,其中客户端的脚本将建立一个适当的COM对象,打开一个在网站
  www.yoursite.com的连接(使用了HTTP的POST方法,同步方式),使用Send方法发送
  一个XML片段,然后根据服务器上的响应填充divDisplay区域(这里使用了DHTML)。
  具体的执行过程是,在服务器上,Request对象被转载入一个XML文档然后被解释器解释。
  服务器响应XMLHTTP连接的方式和响应其他任何方式的HTTP连接是一样的,也是使用了
  Response对象。注意的是XMLHTTP本身并不检查request或则response的有效性,也就是说
  Request或则Response中的数据可是并不需要一定是XML文档。
   “聪明,”你也许会说。“但是为什么我们不使用CGI来代替它呢?”呵呵,我们要注意
  这样一件事,就是如果使用这种方式进行客户端--服务端的交互时整个页面并没有被刷新。
  我们都知道,如果要是通过CGI来做任何事情都必将导致浏览器接收一个完整的新页面,而
  这尤其影响

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)  通过一个VBA的宏给服务器发送一个请求,然后将响应载入XML文档,通过解释器解释后再
  插入Excel的电子表格中。这将是一个无痕的解决方案,简单的一个按钮也许会让你的老板、
  同事或任何其他人的关系大有改观。
   下面是我实现上述方法的一个代码片段。它使用XMLHTTP将服务器中的信息载入,然后将
  其插入电子表格中。
  
  Public Sub UpdateSheet()
  
   Dim xmlhttp
   Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
   Call xmlhttp.Open("POST", "http://www.yourserver.com/yourpage.asp", False)
   Call xmlhttp.send("reqtimesheet user='jimbob'/")
  
   Dim xmldoc
   Set xmldoc = CreateObject("Microsoft.XMLDOM")
   xmldoc.async = False
   xmldoc.loadxml(xmlhttp.responsexml)
   Worksheets("TimeSheet").Range("A1").Value = xmldoc.documentelement.getAttribute("firstname")
   Worksheets("TimeSheet").Range("B1").Value = xmldoc.documentelement.getAttribute("lastname")
   Worksheets("TimeSheet").Range("C37").Value = xmldoc.documentelement.selectSingleNode("totalhours").Text
  End Sub
  
   这个VBA的宏相当的简单。给服务器发送一个请求,然后将服务器上的响应插入
  XML文档,然后更新Excel中cell中的内容。当然,我们可以使用这个技术做其他更多的运用。
  例如从一个Office运用程序中上载数据到服务器上的XML文档中(XML应该是你首选的格式,
  而不是Office 2000中提供的愚蠢的OfficeXML实现).或则把XML/ASP作为一个你数据库的shell
  这样,你的运用程序对于数据库就有了一个简洁、统一的接口,而对数据库结构的
  改动就不必要改动你所有的客户端代码了。
  
   我发现XMLHTTP对象在我的编程中非常的有用。我一般使用Visual Basic, Delphi, 和 Visual J++编写程序,在这个过程中,我经常发现这些语言各自对在线程序处理的方法非常地不同,
  他们各自有自己的对网络程序的处理机制,但是如果你要是在处理网络程序时都使用统一
  的XMLHTTP连接方式,那么连接服务器的代码将非常小,甚至更优化,这是一种对所有的
  语言都统一的接口。
  
  
  
  
展开更多 50%)
分享

猜你喜欢

XMLHTTP: 网站超级粘合剂

Web开发
XMLHTTP: 网站超级粘合剂

心理健康:赞美是夫妻关系的粘合剂

心理健康
心理健康:赞美是夫妻关系的粘合剂

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XmlHttp异步获取网站数据的例子

电脑网络
XmlHttp异步获取网站数据的例子

使用xmlhttp为网站增加域名查询功能

Web开发
使用xmlhttp为网站增加域名查询功能

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用xmlhttp为网站增加股市行情查询功能

ASP
使用xmlhttp为网站增加股市行情查询功能

如何选择粘合衬

拼布
如何选择粘合衬

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

编写安全的扩展存储过程

编写安全的扩展存储过程

用JavaScript显示XML

用JavaScript显示XML
下拉加载更多内容 ↓