XMLHttpRequest > XMLHttpRequest Object 생성하기
XMLHttpRequest는 현재 W3C 표준이며, Draft 상태이다. (W3C XMLHttpRequest Object)
현존하는 대부분의 메이저 브라우저들은 이 XMLHttpRequest Object를 지원하며, 리눅스에서 채택하고 있는 대부분의 브라우저에서도 동작한다.
XMLHttpRequest Object 생성
/** XML HTTP Request 객체 생성 * @type Function * @param n/a * @return XMLHttpRequest Object *//**/ xmlHttpRequest = function() { this.request = null; } xmlHttpRequest.prototype.createRequest = function() { if (window.XMLHttpRequest){ this.request = new XMLHttpRequest(); } else if (window.ActiveXObject){ try{ this.request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(err) { this.request = new ActiveXObject("Microsoft.XMLHTTP"); } } return this.request; }
- window.XMLHttpRequest를 지원하는 브라우저, 즉 모질라 계열이면 new XMLHttpRequest()를 실행
- window.ActiveXObject를 지원하는 브라우저, 즉 IE 계열이면 new ActiveXObject()를 실행.
- 그러나 Internet Explorer는 설치된 자바스크립트 버전에 따라 MSXML 버전에 차이가 있음으로 try ~ catch 문을 통해 대비해야 한다.
interface XMLHttpRequest{ attribute EventListener onreadystatechange; readonly attribute unsigned short readyState; void open(in DOMString method, in DOMString url); void open(in DOMString method, in DOMString url, in boolean async); void open(in DOMString method, in DOMString url, in boolean async, in DOMString user); void open(in DOMString method, in DOMString url, in boolean async, in DOMString user, in DOMString password); void setRequestHeader(in DOMString header, in DOMString value); void send(); void send(in DOMString data); void send(in Document data); void abort(); DOMString getAllResponseHeaders(); DOMString getResponseHeader(in DOMString header); readonly attribute DOMString responseText; readonly attribute Document responseXML; readonly attribute unsigned short status; readonly attribute DOMString statusText; };
댓글 없음:
댓글 쓰기