服务器XMLHTTP(Server XMLHTTP in ASP)基础知识

来源:asp之家 时间:2011-03-06 11:11:00 

相对于 Ajax,服务端 XMLHTTP 就是在服务端使用 XMLHttpRequest 对象了。虽然说,在服务端使用异步请求是比较不方便的,但是做为可以服务端发送 HTTP 请求的组件,学习一下也是没有坏处的。

这里,我讲的是在 ASP 环境中使用服务端 XMLHttpRequest,并以 JScript 做为演示代码的语言,因此,你需要了解 ASP 以及 JScript。

服务端 XMLHTTP,通常会用在获取远程主机的网页或者其他内容,新闻聚合系统一般就是使用服务端 XMLHTTP 对象来获取要聚合的 Feed 的内容,然后使用 XMLDOM 对象来分析 Feed 的内容,取出新闻的标题、作者、内容等信息,再存在数据库中,然后将若干个数据源的新闻一起显示在一起。抓虾就是这样一个新闻聚合器,但是它不是用 ASP 写的就是了 :)

在 ASP 中,我们可以用以下代码来创建一个 ServerXMLHTTP 对象,而这个对象,就是我们在服务端进行一切操作的基础。

代码如下:

var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0"); 

首先来了解一下 ServerXMLHTTP 对象有哪些比较有用的方法:

1. abort 这个方法用于取消 XMLHTTP 的请求。如果 XMLHTTP 对象以异步方式发送请求,如果到达一定的时间请求仍然没有返回,就可以使用这个方法来取消请求。

2. getAllResponseHeaders 这个方法的返回值是一个字符串,相当于 HTTP 请求的头部去掉了请求方法、URI和协议版本信息。

3. getResponseHeader 这个方法用来获取指定头部信息,比较有用的就是可以用来获取返回数据的 Content-Type、Referer 等。

4. open 使用指定的请求方法、URI和同步方式以及认证信息等初始化一个请求。

5. send 发送 HTTP 请求,等待接收响应数据,注意,如果是以同步方式发送请求,send方法调用后不会立即返回,而是等到请求完成后才会返回,而以异步方法请求时,则会立即返回。另外,send方法带有一个可选参数body,表示要发送的数据,这在使用 POST 方法时比较有用。

6. setTimeout 设置 ServerXMLHTTP 对象的 4 个超时时间,分别是:域名解析、连接服务器、发送数据、接收响应。可以通过设置相应的超时时间来控制 ServerXMLHTTP 对象,以免 ServerXMLHTTP 不能及时返回而造成程序停止响应。

7. setRequestHeader 设置请求的 Header,在客户端 XMLHttpRequest中,通常用来设置请求的数据类型,或者标识请求的方法等等,例如 jquery 会增加头部标识 X-Request-With,表示请求是从 XMLHttpRequest 对象发出,以方便服务端做出相应的动作。

8. waitForResponse 在使用异步方式发送请求时,可以用这个方法来控制请求的进程。在服务端脚本中,不可以像客户端那样直接使用回调函数来控制异步请求,也没有相应的函数来使用程序休眠一定的时间,因此,为了等待请求返回,我们可以使用这个方法来等待一定时间。
另外,还有其他一些方法,如 getOption、setOption、setProxy 等,这些方法用得比较少,因此这里不再介绍,需要了解的朋友可以查阅 MSDN。

标签:服务器,XMLHTTP
0
投稿

猜你喜欢

  • ASP 三层架构 Convert类实现代码

    2011-03-16 11:01:00
  • "模板化"——限制还是激发

    2009-03-26 11:36:00
  • PHP+MYSQL不恶补十句话

    2009-12-02 10:09:00
  • 也谈网页圆角的背景图法

    2009-03-19 14:09:00
  • 解析:快速的掌握 MySQL支持的操作系统

    2008-12-31 17:18:00
  • eWebEditor不支持IE8的解决方法

    2009-11-02 10:59:00
  • 论标志的简洁性

    2009-10-27 16:05:00
  • MySQL 基本概念

    2011-09-10 16:22:34
  • asp金额大小写转换完全无错版

    2007-09-26 09:38:00
  • 在原窗口还是新窗口打开链接?

    2009-12-07 21:24:00
  • asp如何创建Word 文件?

    2009-11-14 20:47:00
  • AES算法 asp源码

    2009-08-28 13:05:00
  • 学习ASP.NET八天入门:第五天

    2007-08-07 13:43:00
  • 关于MySQL编码问题的经验总结

    2007-08-23 16:10:00
  • 利用色轮选择颜色搭配[译]

    2009-10-31 18:24:00
  • Coda 前端开发插件 F2E Tools

    2009-09-22 14:53:00
  • oracle 时间格式的调整

    2009-05-24 19:32:00
  • XMLTextReader和XmlDocument读取XML文件的比较

    2008-09-05 16:04:00
  • 你是真正的用户体验设计者吗? Ⅰ

    2008-03-20 13:42:00
  • oracle移植到mysql注意事项

    2008-12-25 13:09:00
  • asp之家 网络编程 m.aspxhome.com