1.JavaScript代码先创建对象,用来存放XMLHttpRequest();
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
2.发送Request请求
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
xmlhttp.send();
方法 | 描述 |
---|---|
open(method,url,async) | 规定请求的类型、URL 以及是否异步处理请求。
|
send(string) | 将请求发送到服务器。
|
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST 没有数据量限制)
- 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:
xmlhttp.open("POST","ajax_test.html",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
3.响应服务器请求:
服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
属性 | 描述 |
---|---|
responseText | 获得字符串形式的响应数据。 |
responseXML | 获得 XML 形式的响应数据。 |
xmlhttp.onreadystatechange =
function
() {
if
(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(
"here"
).innerHTML = rs;
}
}
实例注意点解析:
1. url里面指定的servlet相对路径要写全 xmlhttp.open( "GET", "/HiAjax/HiAjax?name=get" , true);
2. servelt部分对参数进行if判断时候用equals方法比较好 if ( "get".equals(parm))
3. 获取requestTest的时候,写在相应完成后再获取,否则获取的值是空;
1. url里面指定的servlet相对路径要写全 xmlhttp.open( "GET", "/HiAjax/HiAjax?name=get" , true);
2. servelt部分对参数进行if判断时候用equals方法比较好 if ( "get".equals(parm))
3. 获取requestTest的时候,写在相应完成后再获取,否则获取的值是空;
xmlhttp.onreadystatechange =
function
() {
if
(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var
rs = xmlhttp.responseText;
document.getElementById(
"here"
).innerHTML = rs;
}
}