网络编程
位置:首页>> 网络编程>> JavaScript>> 服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)

服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)

作者:xujiwei 来源:HotHeart's BLOG 发布时间:2008-11-11 12:49:00 

标签:XMLHTTP,Url,responseText,setTimeouts,超时,服务器

在上一篇《服务器XMLHTTP(Server XMLHTTP in ASP)基础》中我介绍了一下ServerXMLHTTP对象的一些基本属性和方法,接下来我讲讲ServerXMLHTTP的基本应用。

在ServerXMLHTTP中,异步请求不再是主要用途,往往是同步的请求用得更多,因为在服务端编程中,程序的执行是需要迅速结束并返回结果的,不像在桌面程序中,有一个消息循环。这样就导致了在服务端编程中,同步编程用得更多。当然,这并不是说异步请求没有用处,在一定的情况下,异步请求会有很大的作用。

1. 简单的使用ServerXMLHTTP请求并显示指定Url

首先来看一下很简单的例子,使用ServerXMLHTTP请求Google的首页并显示出来:

程序代码:

<%@LANGUAGE="JScript" CODEPAGE="65001"%> 
<% 
// code from xujiwei 
// http://www.xujiwei.cn 
var url = "http://www.google.cn"; 
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0"); 
xmlhttp.open("GET", url, false); 
xmlhttp.send(""); 
Response.BinaryWrite(xmlhttp.responseBody); 
xmlhttp = null; 
%>

在浏览器查看这个页面,你就可以看到Google的首页了:

但是,我们可以看到,这里的Logo图片是没有显示的,因为这个logo在网页源代码里是以相对路径的方式来指定的:

<img src=/intl/zh-CN/images/logo_cn.gif width=286 height=110 border=0 alt="Google" title="Google">

但是,我们的测试服务器里并没有这个图片文件,因此浏览器就会显示此图片的替代文字“Google”。

这里我使用了xmlhttp的responseBody属性,这是因为,在不知道所请求的网页是使用什么编码的情况下,可以让浏览器来处理这个问题,而不用在服务器处理编码。如果要在服务器处理编码,你必需知道你所请求的URL所返回的内容是使用什么编码的,并且正确的将返回内容进行转码以使得客户端浏览器能正常的显示。

例如,我们请求Baidu的首页,就会因为编码问题而导致页面完全错乱:

所以,使用或者responseBody,完全取决于我们的需要,并不是一成不变的,或者,在某些时候,我们要使用的并不是这两个中的一个,而是responseXML:)

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com