XmlHttpRequest里面常用的函数和属性无非就这几个:

open(method, url, async, user, password)

其中method的值多数为Get或者Post(不区分大小写)用于从服务器获取数据和向服务器发送数据,还有Head, Put, Delete之类的,基本不会用到;url是实际要访问的url地址,比如http://leonax.net;async的值为true或者false,表示是否要以异步模式(即非阻塞模式)进行通信;user和password为访问url所需的用户名和密码,一般都是省略掉的。

open函数只是初始化一下Xmlhttp对象,它并不会向url所对应的服务器发送数据。比较奇怪的是,W3C的规范中async的缺省值为true,也就是说,以下代码会以异步模式运行:

1
2
3
var xmlhttp = NewXmlHttpRequest();
xmlhttp.open("Get", "http://leonax.net");
xmlhttp.send();

Msxml3和IE的XmlHttpRequest遵循了这一规范,而Msxml6中的缺省值为false。既然缺省值都为true,为什么不把参数名改成sync呢?在Javascript(以及各种脚本语言)中,缺省参数一般为null,而null和false等价,所以把缺省值定为true实在是太令人费解了。

send(text)

真正把数据发出去的是这个函数。text可以是任何值,它会被当作数据包的正文发给服务器。

在open之前调用send会报错。

以异步模式open之后,send函数会立刻返回;相反,在同步模式的时候,它会等到接收完服务器所有的回应才返回。

responseText

这是一个属性,在收到服务器的回复之后,可以通过它来查看回复的正文部分。如:

1
2
3
4
var xmlhttp = NewXmlHttpRequest();
xmlhttp.open("Get", "http://leonax.net", false);
xmlhttp.send();
alert(xmlhttp.responseText);

将显示出一个很简易的Html :P。在未完全收到回复之前,responseText返回一个空字符串。

您还可能感兴趣的日志:

  1. XmlHttpRequest学习笔记 (7) 异步模式
  2. XmlHttpRequest学习笔记 (4) 解析Xml时的安全性
  3. XmlHttpRequest学习笔记 (3) 解析Xml
  4. XmlHttpRequest学习笔记 (5) HTTP报头
  5. XmlHttpRequest学习笔记 (6) 查看HTTP状态
  6. XmlHttpRequest学习笔记 (1) 创建
  7. HTTP状态12007

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2004 - 2011 Leona+Suffusion theme by Sayontan Sinha