在上面的方法中,open和send方法是最重要的。下面,让我们首先从应用程序的观点来讨论open方法。
var req; ……………………… req = new ActiveXObject("Microsoft.XMLHTTP"); …………… var url="AjaxServer.aspx?PubID="+ID; …………… //打开一个到URL的GET请求 req.open("GET",url,true); //实际发送一个空请求 req.send(null); |
注意
在这个示例应用程序中,AjaxClient.aspx页面是用户接口,AjaxServer.aspx则负责提供每一个用户请求时的数据。要特别注意的是,AjaxServer.aspx页面不应该包含任何HTML。你可以测试一下如果页面包含HTML将会发生什么。
open方法的第一个参数(见上面表格中的Open函数)指示当前操作为一个GET操作或是POST操作。在进行简单的数据检索时,一般使用GET。当向外传输的数据包大于512字节且操作包括服务器端活动(如插入,更新等)时,一般使用Post。接下来,我们看一下"url"参数。这个参数可以是一个完整的url也可以是一个相对url。在上面例子中,使用的是相对的url。"asyncFlag"参数指示在执行send方法后是否立即处理到来的脚本(这意味着不必等待是否有响应)。最后两个参数分别是"username"和"password",如果"url"中提供这些数据的话。
另一个重要的方法是send方法,它实际上使用一个消息体发送请求。对于本例而言,它只是发送一个空请求。
[ //实际发送一个空请求 req.send(null); ] |
(三) 属性
| 属性 |
描述 |
| onreadystatechange |
每当状态改变时激发的事件的事件处理器。其中,readyState对象状态整数含义如下:0=uninitialized1=loading2=loaded3=interactive4=complete |
| responseText |
经服务器处理后返回的数据的字符串版本 |
| responseXML |
经服务器处理后返回的DOM兼容的数据文档对象 |
| status |
由服务器返回的数字代码,例如404代表"Not Found",200代表"OK" |
| statusText |
伴随着状态代码的字符串信息 |
在此,应用程序中使用了onreadystatechange:
//这是事件处理器机制;在本例中,"RequestProcessor"即是事件处理器。 req.onreadystatechange=RequestProcessor; |
上一页 [1] [2] [3] [4] 下一页