2008년 04월 08일
파이어폭스 Ajax - responseXML has no properties 문제
파이어폭스에서 XMLHttpRequest 객체를 사용해서 Ajax 통신시 분명 제대로된 XML 파일임에도 불구하고
responseXML has no properties 오류가 발생할 때가 있습니다.

여러곳의 RSS를 테스트 해봤는데 위와 같은 오류가 발생하는 것들이 있습니다.

var req = new XMLHttpRequest();
...
req.responseText; // 분명 XML 데이터가 존재함.
req.responseXML; // responseXML has no properties 오류 발생

XML 데이터를 제대로 받아왔음에도 XML 파일이 아니라고 인식하여 파싱을 하지 않기에 오류가 발생합니다.
서버에서 헤더를 명확하게 명시하지 않을경우 발생할 수 있습니다.
이 문제를 해결하기 위한 overrideMimeType() 이라는 메소드가 존재합니다.

req.overrideMimeType('text/xml');

메소드의 인수로 명시한 content type으로 강제 처리할 수 있게 합니다.
이 메소드는 반드시 send() 보다 먼저 호출되어야 합니다.

참고주소: http://developer.mozilla.org/ko/docs/XMLHttpRequest#overrideMimeType.28.29
by -A2- | 2008/04/08 11:20 | 개발/플밍 | 트랙백 | 덧글(2)
트랙백 주소 : http://ani2life.egloos.com/tb/3694004
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 랜덤여신 at 2008/04/11 01:34
자기 서버가 아니라면 저런 문제가 발생할 수 있겠군요. 알아둬야 할 듯...
Commented by -A2- at 2008/04/17 18:45
랜덤여신// 저도 미처 예상하지 못했던 문제라 좀 고생했어요.

:         :

:

비공개 덧글



<< 이전 페이지 | 다음 페이지 >>