2010-07-21 2 views
3

스프링 프레임 작업에서 Ajax 응답의 일부 div 및 테이블로 구성된 jsp 페이지를 보내려합니다. jsp를 Ajax 호출의 응답으로 보낼 수있는 방법이 있습니까Ajax 호출에 대한 응답으로 Jsp를 보내는 방법

+3

JSP로 볼 때 실제로 JSP로 생성 된 HTML을 의미하는 것 같습니다. – thelost

답변

0

예,이 마법은 없습니다. 귀하의 자바 아약스 처리기에서 정당한 반환하거나 원하는 jsp 페이지로 리디렉션. 응답은 Ajax 콜백의 responseText로 사용할 수 있습니다.

jsp를 사용하면 필요한 요소를 불완전한 HTML 조각으로 생성 한 다음 서버 측 처리기에서 반환 할 수 있습니다. 그런 다음 자바 스크립트 콜백에서 당신은으로, 기본적으로 AJAX를 통해 브라우저로를 통해 전송되는 JSP에 의해 생성 된 HTML이다, AJAX에 의해 JSP 보내기

element.innerHTML = resp.responseText 
//element is the parent you want to insert to 
//resp is the parameter supplied to your callback 
3

가 이해되지 않는다 likeThis 기존 HTML에 조각을 삽입 할 수 있습니다 thelost에 의해 바르게 지적했다.

이 작업을 위해 서버 쪽 코딩이 필요하지 않습니다. 필요한 것은 비동기 적으로 HTML을 수신하기 위해 클라이언트 측에 JavaScript를 작성하는 것입니다. 이를 위해 jQuery와 같은 일부 자바 스크립트 프레임 워크를 사용하는 것이 좋습니다. 그렇지 않으면 내 인생의 지옥을 만들 것입니다.

AJAX에서 액세스하려는 페이지에 http://domain:port/mypage.htm이 있다고 가정합니다. 먼저 (전 페이지가 AJAX에 의해로드가있는 JSP) 기지 JSP에서 jQuery를 포함해야합니다

$(document).ready(function(){ 
    $.ajax({ 
         type:"GET", 
         url: "http://domain:port/mypage.htm", 
         success: function(data){ 
          // Now you have your HTML in "data", do whatever you want with it here in this function   
          alert(data); 
         } 
        }); 
}); 

는 희망이 도움이 :

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.js"></script> 

이 그럼 당신은 jQuery의 아약스 함수를 호출 할 필요가!

+0

또한 코드의 일부를 AJAX로 대체하려고 할 때 $ .load()를 사용하는 것을 고려하고 JSP와 함께 매우 잘 작동하며 모델을 채우고 AJAX JSP에서 해당 모델을 사용할 수도 있습니다. 실제로 AJAX라는 이름의 JSP 폴더 내에 폴더가 있습니다. JSP는 자체적으로 렌더링되면 안되며 다른 페이지의 일부로 렌더링되어야합니다. – walnutmon

관련 문제