(1)页面表单:
<form action="POST">
<input type="text" name="userId" id="userId" onChange="getChange()" />
<input type="submit" value="submit" id="submit" />
</form>
(2)新建请求:
var xmlrequest = false;
try {
xmlrequest = new XMLHttpRequest();
} catch (m) {
try {
xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (n) {
try {
xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlrequest = false;
}
}
}
if (!xmlrequest)
alert("请求建立失败");
或者:
var xmlHttp;
if(window.xmlHttpRequest)
{ xmlHttp = new xmlHttpRequest();}
else
{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
(3)发送请求
function getChange() {
var userId = document.getElementById("userId").value;
var url = "index.php?userId=" + escape(userId);
xmlrequest.open("GET", url, true);
xmlrequest.onreadystatechange = updatePage();
xmlrequest.send(null);
}
(4)处理响应:
function updatePage() {
if (xmlrequest.readyState == 4&&xmlrequest.status == 200) {
var response = xmlrequest.responseText.split(";");
document.write(response[0]);
document.getElementById("order").value = response[0]
document.getElementById("address").innerHTML = response[1].replace(/\n/g, "");
} else
alert("status is " + request.status);
}
HTTP 就绪状态:
0:请求没有发出(在调用 open() 之前)。
1:请求已经建立但还没有发出(调用 send() 之前)。
2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
4:响应已完成,可以访问服务器响应并使用它。