1.1 我的理解:
2 xmlHttp对象的成员。
2.1 属性
例子:xmlHttp.onreadystatechange = functionHandler;
function functionHandler() {
if(xmlHttp.readyState == 4) {
alert("当readyState状态为4时,弹出此窗口!!!");
}
}
//句柄只有方法名称,没有这对“()”括号。赋值时要注意理解。
0 (未初始化) |
对象已建立,但是尚未初始化(尚未调用open方法) |
1 (初始化) |
对象已建立,尚未调用send方法 |
2 (发送数据) |
send方法已调用,但是当前的状态及http头未知 |
3 (数据传送中) |
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误, |
4 (完成) |
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 |
// xmlHttp는 고정된 방식으로 작성되므로 각 단계마다 상태 변경이 수반되므로 이벤트는 핸들러가 항상 모니터링되면 해당 로직을 실행합니다.
코드 실행 순서:
var xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlHttpReq.open("GET", "http://localhost/test.xml", false);
xmlHttpReq.send();
경고(xmlHttpReq.responseText);
2.2 방법
새 xmlHttp 개체를 생성하면 실제로는 http 요청이 생성됩니다.
이 메소드는 요청 메소드를 지정합니다(GET/POST/PUT/PROPFIND), URL, 비동기(기본값은 true), 확인 정보입니다.
에서 비동기 방식 (true)을 채택하면 상태가 변경될 때 onreadystatechange 속성에 지정된 콜백 함수가 호출됩니다.
이 메소드의 동기 또는 비동기 모드는 SynSyn 매개변수에 따라 달라집니다. > = = false, Syn == 인 경우 이 메서드는 반환하기 전에 요청이 완료되거나 시간 초과될 때까지 기다립니다. t참, 이 메서드는 즉시 반환됩니다.