|
| Posted by 박종훈 | 2009-02-16 21:32:17, Hit : 3937 | |
|
|
|
Ajax란, 자바스크립트에서 사용하는 비동기 통신 방식이라고 하는데요,
용어는 잘 모르겠고^^; 꽤 매력적인 거라는 것은 당연한 사실입니다.
그런데 Ajax를 이용하기 위해서는
IE에서는 XMLHttp라는 객체를 이용하고, IE이외의 브라우저에서는 XMLHttpRequest라는 객체를 지원해줍니다.
사실은 Ajax를 말로만 듣고, 사용할때도 그냥 남이 참고하라고 만들어논 소스를 참고하면서;; 구현했는데요,
오늘 서점에 가서 책을 고르다가 Ajax관련 책을 구입하게 됬습니다.
[Ajax 입문] 이라고 한빛미디어에서 나온 도서입니다.
책도 얇고, 그렇다고 해서 내용이 허술하기보다는 알차다고 해야겠네요^^
여튼 이것을 보고 있었는데요,
IE에서는 XMLHttp라는 객체를 이용한다고 했죠?
사실 IE에서 사용하는 XMLHttp라는 객체는 ActiveX 객체입니다.(Microsoft.XMLHTTP, Msxml2.XMLHTTP)
그래서 방금 갑자기 문득 생각이 난건데요,
CreateCOM를 이용해서 XMLHttp라는 ActiveX객체를 생성하면 될것 같군요!
오오! 이거 정말 재밌겠군요!
이것이 가능한다면, 아니아니.. 가능할겁니다!
이것이 제작되면 HTTP와의 연동이 좀더 쉬워질수도 있겠군요!
(아닐수도 있고요^^;)
HTTP Header도 바로 구할수 있고
responseText나 responXML 등으로 바로 결과도 얻어올수 있습니다!se
responseXML은 지상현님께서 제작하신 RSS를 파싱하는 소스를 조금 수정하면 바로 XML데이터로 사용할수도 있고요!
또한 XMLHttp는 status나 readyState 등을 제공해줘서 상태도 얻을수 있습니다!
예전의 방식을 이용해서 개발을 하게 된다면, 데이터 전송 상태를 알 방법이 없기에, [응답없음]으로 뜬 상태에서 멍하니 기다리거나; 사용자는 데이터 전송 상태를 알 방법이 없습니다.
그러나 XMLHttp는 status나 readyState등을 지원하기에, 현재 상태가 로딩중인지, 전송 중인지, 전송이 완료되었는지 알수 있습니다! 좀더 편하겠죠?^^
와하, 언제 한번 시간이 나면 XMLHttp를 이용한 예제를 제작해보겠습니다^^
그런데.. 문제는 아직 CreateCOM 사용법을 완벽하게 몰라서^^;
그런데.. XMLHttp에서 onreadystatechange라는 것이 있습니다.
아마 Ajax를 사용해보신 분들이라면 한번쯤 봤을법한 속성인데요,
onreadystatechange이라는 속성 이름과 같이, [이벤트]입니다.
창조로 말하자면 "클릭했을때", "자판을 눌렀을때"등등과 같은건데요,
문제는 이것을 창조에서 사용못한다는 거죠 ㅠㅠ
그래서, ㅎ시계를 이용해서 실시간(..-_-)으로 status나 readyState를 구해와서 onreadystatechange가 하는 역할을 대신해야 한다는 겁니다;
지상현님께서 제작하신 RSS 파싱하는 소스에서도 ㅎ시계를 이용해서 상태를 얻는 방식을 사용하고 있었고요.
이거, 잘 사용하면 정말 좋겠는데요!^^
제가 시간이 난다면 예제를 작성해서 올리도록 하겠습니다^^
혹시 관심이 있으신 분들은 제작해보세요^^
|
|
|
신용주 2009-02-17 AM 11:13:19 |
|
|
|
제가 알기론 Ajax가 페이지 전체의 내용이 바뀌는 것이아니라, 바뀔 부분만 바뀌는 걸로,
소스가 노가다(?)의 복합체라고 들은 적이 있습니다. 맞는 지는 모르겠지만. |
|
|
박종훈 2009-02-17 AM 11:20:38 |
|
|
|
넵, 맞습니다. 페이지의 전체 내용을 바꾸는 것이 아니라, 필요한 부분만 얻어오는 겁니다^^
Ajax는 노가다 정도는 아니고요, 한번 만들어놓으면 편하게 쓸수 있는 거죠^^
그리고 필요한 부분만 쏙 받아오기에, 자원과 시간을 절약할수 있다라는 장점 있는 반면, 크로스-브라우징이나.. 과다하게 사용하면 오히려 장점이 단점으로 바뀔수 있기도 하고요;
창조에서 이것을 사용하는 이유는 예전에는 복잡하게 사용했던 HTTP와의 연동을 쉽게 하려고 취지입니다.
예전에는 HTTP와의 연동을 위해서 소스가 굉장히 길고 복잡했는 반면에 CreateCOM을 이용해서 XMLHttp 객체를 사용하면 소스가 줄것으로 예상됩니다. 또한 고급 기능들도 사용가능하고요.
아직 해보지는 않았는데 설레는 군요; |
|
|
박종훈 2009-02-17 PM 12:05:02 |
|
|
|
와우!
방금 테스트 해봤는데 되는군요!!
UTF-8까지 깔끔하게 얻어옵니다! 즉, UTF-8을 디코딩 하기 위해서 별도의 디코딩 과정이 필요없이 그냥 잘 보여주는 군요! |
|
|
박종훈 2009-02-17 PM 5:23:36 |
|
|
|
이야! 가능합니다~!
소스자료실에 예제를 올렸어요~ |
|
|
손상진 2009-02-17 PM 7:25:48 |
|
|
|
Ajax라는 말 자체는 뭐 특별한 기술을 뜻하는게 아니고...
자바스크립트와 XML을 가지고 대화식 구조를 만드는 기법을 가르키는 말입니다... 가장 자주볼수 있는것이... 요즘.. 포털들의 검색창에 글을 작성하면 아래 뜨는 자동완성~.. 이것도 Ajax 기법중 한 얘겠지요~^^ |
|
|
손상진 2009-02-17 PM 7:36:50 |
|
|
|
창조에서 XML를 이용한 비동기 통신이라. .ㅎㅎ(근데 뭐 비동기라고 해도;; 요청하고 받는거니 별 특징은~;;; 페이지내 자바에서 사용하는것이 아니라믄;;)
어쨌든 창조 + XML이니깐 AJAX가 아닌 ACAX가 되냐하나 ㅋㅋ |
|
|
박종훈 2009-02-17 PM 10:40:29 |
|
|
|
맞아요^^ Ajax는 새로운 기술이 아니라, 기법이라고 해야하나요?; 원래 있는 것을 갔다 쓰는 거니까;
흐흐 좋네요~ ACAXㅋㅋㅋ |
|
|
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|