IE에서의 XMLHTTP Request 버그?Jan 22, 2007
AJAX 를 좀 가지고 놀다가, 희한한 현상을 발견했다. Request를 보내고, 두번째로 Request를 또 보내면 묵묵부답이 되는 것이다. 뭐가 문제인가 싶어서 이리저리 뜯어보다가, 웹서버 로그를 살펴보니 아예 Request가 전달이 되지 않는다. 그것도 IE에서만. Safari나 FF에서는 아주 잘 된다.
JAVASCRIPT:
-
var request = createHttpRequest();
-
request.open('GET', './some_script.php');
-
request.send('');
-
request.onreadystatechange = function() {
-
if (request.readyState == 4) {
-
//do something
-
}
-
};
이런 식의 코드인데, 첫 번째는 정상적으로 수행이 되지만 두번째부터는 아예 send가 되지를 않는다. XMLHTTP Object 는 처음 써보는 터라, 도대체 뭐가 문제일까 근 30분을 머리를 쥐어짜다가, 의외로 어처구니없게 해결을 했다.
JAVASCRIPT:
-
var request = createHttpRequest();
-
request.open('GET', './some_script.php');
-
request.onreadystatechange = function() {
-
if (request.readyState == 4) {
-
//do something
-
}
-
};
-
request.send('');
순서를 바꿔주는 것만으로 되더라. -_-;
도대체 무슨 이유로 이런 건지는 아직도 모르겠다.
늘 미운털이 박혀있는 IE인지라 이번에도 그냥 IE의 버그로 생각하고 있다.
이것이 소위 말하는 IE HACK 이군요… -,.-
하여튼 여러모로 요상한 IE입니다요..-__