JQuery Ajax 1
2009/08/07 17:28
지금까지 JQuery의 기본적인 기능을 살펴 봤다. 이번엔 현업에서 가장 필요한 기능에 대해 살펴보고자 한다.
ajax에 대해 설명하자면 포스트 1개를 다 사용해야 하고, json과 xml도 설명하려면 쓸대없이 길어질 것 이다. 따라서 이번엔 3가지 모두 '어떻게 생겨먹은지'는 알고 있다는 가정 하에 설명하고자 한다.
ajax를 사용하기 위해 개발자는 브라우저의 XMLHttpRequest객체를 받아오고, 그에 맞는 방식으로 개발해야 할 것이다. 문제는 .. 브라우저마다 객체가 틀릴수도 있고(대표적으로 IE가 그렇다.) 상태값(일반적으로 4일 경우 success인데 .. 이것도 브라우저마다 틀릴수 있다.)등이 틀릴 경우를 대비해 크로스 브라우징에서 매우 귀찮은 작업이 될 수 있다.
jquery의 ajax에 이용되는 메소드들은 다음과 같다.
예제코드를 보면 보다 쉽게 알 수 있을꺼라 믿는다.
주의할점은 .. xml과 json으로 서버로부터 받을 경우 text타입이 아니다. 따라서 jquery에서 사용하는 object타입을 이용해 사용해야 한다.
xml의 경우 엘리먼트 검색과 마찬가지로 $(data).find() 방식으로 접근하게 된다.
json은 좀 더 쉬울 수 있는데 .. 예제에 data.data.length인 경우 .. 두번째 data[]이므로 예제와 같이 작성해야 한다. 서버에서 보낸 json내용이 data[]이기 때문이다.(다른걸로 쓸껄 그랬나보다. 헤깔리게 ..)
ajax에 대해선 할말이 좀 많아서 .. 기본적인 예제는 여기까지로 하고 .. 다음 포스트에 좀 더 디테일한 부분(ajax의 option이라던가..)다뤄보도록 하겠다.
ajax에 대해 설명하자면 포스트 1개를 다 사용해야 하고, json과 xml도 설명하려면 쓸대없이 길어질 것 이다. 따라서 이번엔 3가지 모두 '어떻게 생겨먹은지'는 알고 있다는 가정 하에 설명하고자 한다.
ajax를 사용하기 위해 개발자는 브라우저의 XMLHttpRequest객체를 받아오고, 그에 맞는 방식으로 개발해야 할 것이다. 문제는 .. 브라우저마다 객체가 틀릴수도 있고(대표적으로 IE가 그렇다.) 상태값(일반적으로 4일 경우 success인데 .. 이것도 브라우저마다 틀릴수 있다.)등이 틀릴 경우를 대비해 크로스 브라우징에서 매우 귀찮은 작업이 될 수 있다.
예제보기
jquery의 ajax에 이용되는 메소드들은 다음과 같다.
| $.load(url) |
url을 읽어온다. (사실 이것은.. ajax라고 하기엔 ...) |
| $.get(url,param, callback(data,type)) |
get방식으로 url로 부터 param을 넘기고 callback를 호출 한다. 이때 type엔 성공여부(error, success등)이 들어오게 된다. |
| $.get(url,param, callback(data,type), type) |
get방식으로 url로 부터 param을 넘기고 callback를 호출 한다. 이때 type엔 성공여부(error, success등)이 들어오게 된다. 위와 다른것은 마지막 파라미터에 type추가인데 .. 여긴 'xml' ,'json'등이 올 수 있다. 물론 xml이나 json일 경우 서블릿에서 적절히 처리해 주어야 한다. |
| $.post(url,param, callback(data,type), type) |
post방식 이외에 위와 같으므로 생략.. |
| $.getJSON(url,param, callback(data,type)) |
위와 다른 것은 type를 지정해 준것이 아니라 'json'타입을 사용한다는 것이다. 무엇을 쓰던 기능은 무관하다. |
| $.ajax(option) |
ajax의 기능을 좀 더 세밀하게 사용할때 사용한다. 구체적인 option에 대해선 차후 다뤄보도록 하겠다. |
예제코드를 보면 보다 쉽게 알 수 있을꺼라 믿는다.
주의할점은 .. xml과 json으로 서버로부터 받을 경우 text타입이 아니다. 따라서 jquery에서 사용하는 object타입을 이용해 사용해야 한다.
xml의 경우 엘리먼트 검색과 마찬가지로 $(data).find() 방식으로 접근하게 된다.
json은 좀 더 쉬울 수 있는데 .. 예제에 data.data.length인 경우 .. 두번째 data[]이므로 예제와 같이 작성해야 한다. 서버에서 보낸 json내용이 data[]이기 때문이다.(다른걸로 쓸껄 그랬나보다. 헤깔리게 ..)
ajax에 대해선 할말이 좀 많아서 .. 기본적인 예제는 여기까지로 하고 .. 다음 포스트에 좀 더 디테일한 부분(ajax의 option이라던가..)다뤄보도록 하겠다.
'Dev > JQuery' 카테고리의 다른 글
| JQuery Ajax 1 (0) | 2009/08/07 |
|---|---|
| JQuery Effect (0) | 2009/08/07 |
| JQuery Event (0) | 2009/08/06 |
| JQuery Attribute, Class .. (0) | 2009/08/06 |
| JQuery Selector 3 (0) | 2009/08/05 |
| JQuery Selector 2 (0) | 2009/08/04 |
05_ajax.zip