위즈군의 라이프로그
Reboot... Search /

[AJAX] XMLHttpRequest "Length Required " 에러 처리

2006.10.11 22:07
XMLHttpRequest 오브젝트 사용시 Internet Exploler 에서는 문제없이 구동되지만 Firefox 에서 "Length Required" 에러가 발생하는 경우가 있다.

인터넷에 돌아다니는 예제는 대부분 아래와 같은 식으로 구성되어있다.

xmlRequest.open('POST', this.dtsrcUrl, false);
xmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlRequest.send(null);
이 소스의 문제는 POST 방식으로 데이터 호출을 하지만, 정작 데이터를 보낼 때 포스트 데이터는 널(null) 값을 보내기 때문에 생기는 오류이다. 이를 해결하기 위해서 코드를 아래와 같이 변경한다.

xmlRequest.open('POST', this.dtsrcUrl, false);
xmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlRequest.setRequestHeader('Content-length', '0');
xmlRequest.send('');
요청 전송 시 데이터 값을 null 대신 '' 빈 값을 보냄으로써 해결할 수 있다.
더불어 헤더에 Content 길이 값을 0으로 설정해주는 센스~
장혁 2008.11.18 15:53 신고 E / R
와.. 좋은 정보 감사합니다 ^_^
위즈 2008.11.18 16:00 신고 E
감사합니다. 덕분에 저도 글에 있던 오탈자를 찾았네요.^^ 즐거운 하루 되세요.
Name : Password : Blog : ( )

위즈군의 라이프로그

Category

전체 (569)
개발 (0)
정보 (0)
일상 (0)
정리중 (569)
Total:2,170,028
Today:52 / Yesterday:285
Daum 코드
Powered by Tistory / Skin by 위즈 / Copyright Click Here 라이센스정책 rss 2.0