J

XMLHttpRequest에 관해 질문드립니다.

· 2008-08-08 (금) 20:50:40 · 1246 · 2
<html><head><title></title></head>
<body>

<p>NOT TESTED (script did not run)</p>

<script type="text/javascript">
var x = (typeof XMLHttpRequest!='undefined') ? new XMLHttpRequest() : (typeof ActiveXObject!='undefined') ? new ActiveXObject('Microsoft.XMLHTTP') : null;
var passed=false;
try{
x.open('GET', 'http://external.server.com/setcookie.php', false);
x.send();
}catch(e){
passed=true;
}

document.getElementsByTagName('p')[0].firstChild.data = passed ? 'PASSED' : 'FAILED' ;
try{top.opener.rr(passed);}catch(e){}
</script>
</body></html>


코드는 위와 같습니다.

Javascript와 AJAX를 공부하려고 이거저것 뜯어보고있습니다만 이해가 가질 않는 부분이 있습니다.

XMLHttpRequest 객체 생성 또는 ActiveX 객체 생성 후 동기식으로 'http://external.server.com/setcookie.php'로 Request를 요청하는 것 까진 알겠는데 만약 Request가 이뤄지지 않았을 경우 catch(e) 부분의 passed 가 true가 되는 것인지, 이뤄졌을때 true가 되는것인지 헷갈리네요.

그리고 마지막 try{top.opener.rr(passed);}catch(e){} 이부분이 멀 의미하는지 잘 모르겠습니다.

고수님들께 도움 요청드립니다.

감사합니다 ^_^a
|

댓글 2개

2008-08-09 (토) 17:39:27
XHR 호출시 try catch 는 문법상의 오류를 출력하지(객체가 null 이거나) XHR 상의 호출문제에 대해서는 catch 않을거라고 봅니다.
XHR 결과코드에는 실패시의 상태값이 별도로 지정되어 있습니다.
request 가 이루어지지 않았을 경우는 상태값에 따라 처리를 해야 합니다.
자세한건 검색...
답변 감사드립니다. ^_^
댓글을 작성하시려면 로그인이 필요합니다.

개발자톡

1,532건
+
제목 글쓴이 날짜 조회
10-09-18 조회 1,011
10-09-18 조회 884
10-09-17 조회 885
10-09-17 조회 1,108
10-09-17 조회 1,104
10-09-17 조회 922
10-09-16 조회 1,967
10-09-16 조회 764
10-09-16 조회 1,912
10-09-16 조회 850
10-09-16 조회 2,826
10-09-16 조회 765
10-09-16 조회 1,201
10-09-16 조회 754
08-08-18 조회 1,270
08-08-14 조회 1,340
08-08-11 조회 1,443
08-08-09 조회 1,192
08-08-08 조회 1,247
08-08-08 조회 1,264
08-08-05 조회 2,050
08-08-03 조회 1,430
08-08-02 조회 1,946
08-07-31 조회 1,277
08-07-31 조회 1,207