2、获取XMLHTTPRequest,并将事件处理器注册给它
注意:要使用XMLHTTPRequest,需要IE5.0以上的版本。
2.1 取得XMLHTTPRequest
在IE7.0之前获得XMLHTTPRequest,使用如下代码:
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}而在IE7.0中:
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest
}2.2 注册事件处理器
xmlHttp.onreadystatechange=showGift;showGift为传入的方法名,每当XMLHTTPRequest的状态发生改变时,将执行此方法
3. 与服务器连接并发送
xmlHttp.open("GET",url,true)其方法签名如下:
xmlHttp.open(bstrMethod,bstrUrl,varAsync,bstrUser,bstrPassword)其中:
bstrMethod: 连接方式,可用的有GET, POST, PUT, or PROPFIND bstrUrl: 服务器的url varAsync(可选): 调用是否异步,默认为true(调用立即返回) bstrUser(可选):用户名,如果url需要验证时附上 bstrPassword(可选):密码,如果url需要验证时附上open()方法可以直接打开一个xml文档,并通过xmlHttp的responseXML来读取相应的节点。如下例:
xmlHttp.open("GET","http://localhost/books.xml", false);
xmlHttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");4、发送信息
xmlHttp.send(null)其方法签名如下:
xmlHttp.send([varBody])varBody(可选): 可为字符串或xml等数据,可以为null。无返回值
此方法在open()设为异步时,立即返回;在open()设为同步时,必须等到reponse对象从服务器中返回时才返回。
5、服务器返回处理完毕的信息
此时,该是服务器端工作了,server.jsp的代码如下: