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;
};
댓글 없음:
댓글 쓰기