Page 1 of 1

파이어폭스에서 XMLHttpRequest 문제

Posted: 2006 02 12 23:55 06
by haze
<script>
var request;

function createXMLHttpRequest()
{
if (window.XMLHttpRequest) {
request = new XMLHttpRequest;
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}

function startRequest()
{
request = createXMLHttpRequest();
request.open("GET", "http://www.w3.org/", true);
request.onreadystatechange = handleStateChange;
request.send(null);
}

function handleStateChange() {
if (request.readyState == 4) {
alert(request.responseText);
}
}
</script>

<input type="button" value="요청" onClick="startRequest()" />


IE에선 잘 동작하는데 파이어폭스에서는 버튼을 눌러도 아무 동작도 안합니다.

확인을 해보니 open() 메소드에서 더 이상 진행이 인되던데 이거 왜 이런건가요?

value 문제인듯 한데..

Posted: 2006 02 13 00:50 13
by hyundai
지나가면서 보고 갑니다만..
그냥 보면 value 문제인듯 한데..
value="submit"로 바꿔보세요.

IE에서도 안 먹는데요?

Posted: 2006 02 13 00:52 30
by hyundai
IE에서도 안 먹는데요?

request는 null이거나 개체가 아니라고 뜹니다.

확인해 보시길.. IE6.0환경에 WINXP입니다.

엉뚱한 답을 드린거 같네요..

Posted: 2006 02 13 01:06 10
by hyundai
엉뚱한 답을 드린거 같네요..

뭔가 풀 소스가 아닌건지.. 아니면 기타의 문제인지..
도움도 안되고.. 초보 티만 내고 갑니다. ㅠㅠ

저보다 잘하시는 분이 답을 잘 주시길...

정정.

Posted: 2006 02 13 03:05 43
by haze
<script>
var request;

function createXMLHttpRequest()
{
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}

function startRequest()
{
createXMLHttpRequest();
request.open("GET", "http://www.w3.org/", true);
request.onreadystatechange = handleStateChange;
request.send(null);
}

function handleStateChange() {
if (request.readyState == 4) {
alert(request.responseText);
}
}
</script>

<input type="button" value="요청" onClick="startRequest()" />

위 소스는 에러나는 것 같네요.
정정한 소스입니다.
그래도 똑같이 파이어폭스에선 안나옵니다.
파이어폭스 1.5 버전인데...

해결.

Posted: 2006 02 13 13:43 00
by haze
해결했습니다.

파이어폭스에선 원격 호스트에서 파일을 읽어오지 못하고,

해당 스크립트를 실행하는 호스트에서만 읽어올 수 있네요.

파이어폭스 보안설정 때문인가요?

더 알아봐야겠습니다.