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的代码如下:
<%
String[] str = new String[] {"Love", "Power", "Peace"};
int number = new java.util.Random().nextInt(2+1);
response.getWriter().write(str[number]);
%>
从三个字符串中随机挑选一个写入到response中,返回客户端。
6、客户端自动探知XMLHTTPRequest的状态已经发生变化,自动触发事件处理器
7、事件处理器动态更新页面
处理器读取xmlHttp.responseText的值,并通过JavaScript动态更新<div id="output">的内容。
document.getElementById("output").innerHTML = "Time is for " + xmlHttp.responseText + ".";
结语:
由上7步可见,AJAX并不复杂,远比想像中要简单得多。牢牢记住这一点,“AJAX让我们在不用刷新页面的情况下,可以动态地更新网页部分内容”,然后运用到各种需要用到这种性能的场合,将使我们的网页更有创意。