javascript中Http部分方法详解

open 方法

初始化一个 NetBox.Http 对象,指定方法,URL 和请求的认证信息

语法

Http.open(strMethod, strUrl[, varAsync, varUser, varPassword])

参数

Http
一个实例化的 Http 对象
strMethod
打开连接的 HTTP 方法,可以是 GET,POST,PUT 或 PROPFIND 等
strUrl
请求的 URL,必须为绝对地址,比如:"http://www.zydsoft.com/"
varAsync
确定此次请求是否为异步请求,如果为 True,则 Send 方法立即返回,缺省为 True
varUser
用于用户认证的用户名
varPassword
用于用户认证的口令

注释

调用此方法将清除以前对象中的全部数据,并按照调用的参数初始化一个新的对象。open 一个请求以后,可以使用 send 方法将此次请求发送至服务器。

示例

下面的例子创建一个 Http 对象,然后使用 open 方法同步打开一个页面,并发出请求,并显示返回的内容:

Set Http = CreateObject("NetBox.Http")
Http.Open "GET", "http://www.zydsoft.com/"
Http.Send
Shell.Console.Write NetBox.Encoding.BinToStr(Http.ReadAll)
setRequestHeader

设定一个请求的标头字段

语法:

oXMLHttpRequest.setRequestHeader( bstrHeader , bstrValue );

参数:

bstrHeader

http头名称,字符串

bstrValue

值,字符串

备注:

调用此方法之前,必须调用open方法,否则会发生错误

send 方法

发送请求到服务器并接收返回结果

语法

Http.send([varBody])

参数

Http
一个实例化的 Http 对象
varBody
Http 请求的消息内容,通常为 Form 的内容

注释

此方法可以是同步和异步两种方式,由 open 方法的 varAsync 参数决定。如果调用 open 方法的时候 varAsync 为 False,则此方法将等待请求成功发出后才返回,而如果 varAsync 为 True,则调用立即返回。

此方法有一个参数,指定 Http 请求的消息内容,可以是字符串和二进制。此参数将自动设定 Http 请求中的 Content-Length 字段,而并不设定 Content-Type 的内容,如果需要指定 Content-Type 的内容,需要使用 SetHeader 方法自行设定以向服务器声明消息内容的数据格式。

readyState 属性

返回请求执行的状态

语法

rs = Http.readyState

参数

rs

返回 Http 对象的状态
Http
一个实例化的 Http 对象

注释

此属性为只读属性,用于查询 Http 对象当前状态,状态的说明如下:

0(未初始化) 对象成功创建,但是未调用 open
1(初始化) open 方法调用成功,但是尚未发送至服务器
2(请求发送成功) send 方法调用成功,请求已经成功发送至服务器
3(数据下载中) 服务器已经返回信息,并且开始下载数据
4(请求结束) 服务器数据下载成功,或者网络连接中断请求出错
unescape 方法 

从用 escape 方法编码的 String 对象中返回已解码的字符串。

function unescape(charString : String) : String
参数参数
charString

必选。要解码的 String 对象或文本。

备注备注

unescape 方法返回一个包含 charString 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。

以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。
window.setTimeout(func,delay);
func,代表所要执行的函数或代码字符串。
delay,延时参数,单位为毫秒,一秒=1000毫秒。
func中传递的函数或语句有变量输入时,变量的取值以延时后的执行时段时的取值为准,不以代码执行时段的值为准。例如:

代码:

for(var i=1;i<=50;i++)
{
      window.setTimeout("document.write(i)",1000);
}

这样写的意义是在程序执行完1秒后打印50个i,此时程序已执行完,i的取值为"51";
如果要是程序每隔1秒打印一个数,则程序要改写为

代码:

for(var i=1;i<=50;i++)
{
      window.setTimeout("document.write("+i+")",i*1000);
}

有了"+i+"的字符串跳出,每次执行的赋值
1. window.setTimeout("document.write(1)",1000);
2. window.setTimeout("document.write(2)",2000);
3. window.setTimeout("document.write(3)",3000);
4. window.setTimeout("document.write(4)",4000);
5. window.setTimeout("document.write(5)",5000);
...
...
50. window.setTimeout("document.write(50)",50000);

这样实现显示的延时





posted on 2007-03-08 11:19  曾伟  阅读(2659)  评论(0编辑  收藏  举报

导航