XML HttpRequest 로 Ajax 요청 보 내기

2640 단어 코드Ajax지식.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
	<title></title>
	<script type="text/javascript" src="AjaxUtil.js"></script>
</head>
 <body>
  <script type="text/javascript">
	var url = 'http://192.168.4.1:8082/Person/Detail';
	//AjaxUtil.addURLParam(url, 'id', 920);
	//AjaxUtil.addURLParam(url, 't', Math.random());
	var xhr = AjaxUtil.createXHR();
	xhr.onreadystatechange = function () {
		if(xhr.readyState == 4) {
			if((xhr.status >=200 && xhr.status< 300) || xhr.status == 304) {
				alert(xhr.responseText);
			} else {
				alert('    !' + xhr.status);
			}
		}
	}
	
	xhr.open('post', url, true);
	
	//        open()    ,send()    
	
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	//xhr.open('get', url, true);
	xhr.send("id=920");
  </script>
 </body>
</html>

XML HttpRequest 의 ready State 속성 표지 요청/응답 과정의 상태 변화,다음 과 같은 수치 가 있 습 니 다.
0:초기 화 되 지 않 았 습 니 다.open()방법 이 호출 되 지 않 았 습 니 다.
1:오픈()방법 이 호출 되 었 습 니 다.send()방법 이 호출 되 지 않 았 습 니 다.
2:호출 된 send()방법 보 내기
3:수신:일부 데이터 수신 됨
4:완료:모든 데 이 터 를 받 았 습 니 다.
ready State 변화 때마다 readystatechange 사건 이 발생 합 니 다.우리 가 주목 해 야 할 것 은 상태 4 입 니 다.
var AjaxUtil = {

	//  XMLHttpRequest  ,  IE7    
	
	createXHR: function () {
		if (typeof XMLHttpRequest != 'undefined') {
			return new XMLHttpRequest();
		} else if ( typeof ActiveObject != 'undefined') {
			if (typeof arguments.callee.activeString != 'string') {
				var versions = ['MSXML.XMLHttp.6.0','MSXML.XMLHttp.3.0','MSXML.XMLHttp'];
				var i,len;
				for (i=0,len=versions.length; i<len; i++) {
					try {
						new ActiveObject(versions[i]);
						arguments.callee.activeString = versions[i];
						break;
					} catch (ex) {
					}
				}
				return new ActiveObject(arguments.callee.activeString);
			}
		} else {
			throw new Error("      !");
		}
	}
	
	// GET      
	
	, addURLParam: function (url, name, value) {
		url += (url.indexOf('?') == -1) ? '?' : '&';
		url += encodeURIComponent(name) + '=' + encodeURIComponent(value);
		return url;
	}
	
}
//    Javascript      Ajax  

좋은 웹페이지 즐겨찾기