2011-03-05 4 views
0

페이지에 양식을 표시하는 부분이 있습니다. 양식을 제출할 때 컨트롤러가 작업을 수행하고 렌더링없이 페이지로 돌아가고 싶습니다. 나는 단지 성공이나 실수의 플래시 메시지와 그 이상을 보여주고 싶다. 그러나 컨트롤러는 기본적으로 새 페이지를 렌더링하려고합니다. 이 문제를 피하기 위해 어떻게해야합니까?랜덤으로 아무것도 렌더링하지 않아!

답변

2

자바 스크립트 (AJAX)를 사용하는 비동기 HTTP 요청 만 사용하면됩니다. 그래서 폼의 필드 값을 게시하고 플래시 영역을 결과로 업데이트합니다. 당신이 상단 또는 페이지에서 div 요소를 넣어 만들 수 있습니다

<Edited> 

당신이 당신의 페이지에 플래시 영역이없는 경우 (또는 다른 장소 당신이 원하는 : 당신은 아약스 요청에 도움을 jQuery를 사용할 수 있습니다). 그런 다음 단추의 OnClick 이벤트에 당신이 넣어 :

<input type=button onclick="$.post('/controller/action/update', $('#testform').serialize(), function success(data, textStatus, jqXHR){$.('#flash').html(data)})"> 

이 기능은 서버에 폼의 데이터를 전송을 반환 할 때 콜백 함수는 (성공)라고합니다. 그런 다음 반환 된 데이터로 플래시 내용을 업데이트하기 만하면됩니다.

+0

Jquery를 사용하고 있지만 플래시 메시지를 표시하는 방법을 모르겠습니다. – Joe