Ajax의 응답은 보통 JSON형태로 받아와 변환하여 사용하지만, html이나 jsp페이지 자체를 응답으로 받는 경우가 발생할 수 있다. 이 때 태그를 제어할 수 있느 방법에 대해 알아보자.


◆ JSP(or html) Ajax응답 페이지에서 특정 요소 찾는법

Ajax를 통하여 태그가 있는 Jsp나 html을 불러오게 될 경우 JSON.parse등을 사용할 수 없고, 불러온 응답 페이지는 현재 페이지가 아니기 때문에 단순히 id나 class를 통하여 객체를 가져올 수 없다.
따라서 가상의 태그 객체를 응답페이지와 결합하여 객체를 찾아가는 방식으로 사용한다.


▶ Jquery 셀렉터를 이용하여 가상 태그객체 생성

Jquery는 셀렉터를 통하여 특정 태그 객체를 찾는것 뿐만 아니라 특정한 태그 객체를 만들어낼 수 있다.
ex) $("<div></div>");
위 처럼 Jquery셀렉터를 태그를 이용해 만들게 되면 해당 태그를 찾는 것이 아니라 현재 페이지에 추가 되지 않은 가상의 해당 태그 객체로 만들어준다.


▶ 응답 페이지 제어

위 처럼 가상의 태그 객체를 만든 후 append(data)메서드를 이용하여 가상의 태그안에 ajax를 통해 불러들인 페이지를 추가해 준다.
append()메서드는 또 다시 해당 Jquery객체로 반환되기 때문에 find("#id")등의 메서드를 통해 객체를 제어할 수 있게 된다.

$.ajax({
        url: '/test.do',
        type: 'post',
        dataType: 'text',
        data: {
        	i_sEventcd: eventCd 
        },
        async: true,
        success: function(data) {
        	var result = $('<div />').append(data).find('#comment').html();
	        $("body").append(result);
        } 
});

/* ex) data =
<html>
    <body>
        <div id="comment">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
            </ul>
        </div>
    </body>
</html>
 , body <ul>~</ul>이 추가된다.
*/