服务器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
投稿

猜你喜欢

  • mysql 5.7.23 安装配置方法图文教程

    2024-01-14 02:58:36
  • python 元组和列表的区别

    2021-08-25 19:01:27
  • Django数据库(SQlite)基本入门使用教程

    2024-01-22 01:13:03
  • ASP中Request对象获取客户端数据的顺序

    2007-09-22 10:36:00
  • 如何使用Python在2秒内评估国际象棋位置详解

    2023-08-10 14:26:46
  • Centos7.2 编译安装PHP7.0.2的步骤

    2023-10-08 12:51:29
  • JS实现用户管理系统

    2023-08-29 04:51:20
  • JDBC数据库连接过程及驱动加载与设计模式详解

    2024-01-27 06:46:47
  • Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例

    2021-08-14 18:38:06
  • sqlserver 多表关联时在where语句中慎用trim()方法

    2024-01-16 06:37:32
  • vue中使用axios固定url请求前缀

    2024-05-28 15:47:13
  • OpenCV中图像通道操作的深入讲解

    2022-02-13 02:39:22
  • 使用Python3内置文档高效学习以及官方中文文档

    2022-06-13 08:14:45
  • 分享20个数据库设计的最佳实践

    2024-01-24 09:28:53
  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    2023-06-27 22:24:32
  • ASP如何跳出本次进入下一次循环

    2008-10-23 13:46:00
  • 用ASP显示ACCESS数据库的的GIF图象

    2008-11-20 16:35:00
  • 在pycharm中实现删除bookmark

    2021-03-18 07:57:24
  • python pands实现execl转csv 并修改csv指定列的方法

    2022-11-20 01:45:27
  • Python实现笑脸检测+人脸口罩检测功能

    2022-06-24 04:01:49
  • asp之家 网络编程 m.aspxhome.com