AJAX를 처음 사용하며 현재 Spring MVC에서 사용하는 방법을 배우고 있습니다. 나는 같은 문제에 직면하고있다.
실제 실시간 요구 사항을 진행하기 전에 전체 AJAX + Spring MVC + jquery 조합을 실제로 이해하는 데 필요한 기본 기능과 함께 테스트하고 있습니다.
페이지에 검색 창 + 제출 버튼이 있습니다. 나는 $ .get을 사용하여 제출할 때 스프링 컨트롤러에 하드 코딩 된 텍스트를 보내고있다. 그런 다음 해당 컨트롤러에서 콜백 함수로 다른 텍스트를 보내고 'alert'상자를 사용하여 콜백 함수에 반환 된 텍스트를 표시하려고합니다. 이것은 효과가없는 것 같습니다.
콜백 함수가 호출되고있는 것을 봅니다. (콜백 함수의 'alert'이 실행되고 있기 때문에) 컨트롤이 컨트롤러로 전달되고 콜백 메소드로 되돌아 가고 있다고 가정합니다. 컨트롤러에서 반환 된 텍스트가 콜백 메서드의 경고 상자에 표시되지 않는 이유를 파악할 수 없습니다. 콜백 메서드에서 반환 값을 캡처하기 위해 여기에 누락 된 내용이 무엇인지 모르겠습니다.
귀하의 답변과 도움에 감사드립니다.
감사합니다.
이텍스트 상자 HTML 제출 버튼 : 위의 양식의 제출에 트리거
<div class = "searchcontactform">
<form id = "searchcontactform" name="searchcontactform" method="GET">
<input type = 'text' size='25' name = "searchlastname" id = "searchlastname" value='Enter Last Name to Search'/>
<input type = "submit" value="Find">
</form>
</div>
자바 스크립트 :
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/scripts/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#searchcontactform').submit(function(){
$.get("ContactList-JPA/search", {textsent : 'Hello Controller'},callback);
function callback(textreceived){
alert('In Callback. Text Received is: '+textreceived);
};
});
});
컨트롤러 :
@RequestMapping(value = "/search", method = RequestMethod.GET)
public @ResponseBody String searchcontact(@RequestParam(value="textsent") String textsent){
return textsent;
}
POM 잭슨 종속성. xml :
서블릿-context.xml에 뿌리-context.xml에 구동주석 : 당신은 설정 당신을 또한 수
$(document).ready(function() {
$('#searchcontactform').submit(function(){
$.get("ContactList-JPA/search", {textsent : 'Hello Controller'},
function(data){
callback(data);
});
function callback(textreceived){
alert('In Callback. Text Received is: '+textreceived);
};
});
});
:
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
'return false'가 기본 submit을 막을 것이다. 행동 – melanke
이것은 효과가 있었다!. 'return false;'를 추가합니다. 제출 이벤트 핸들러의 마지막 부분에서 내 문제가 해결되었습니다. 답장을 보내 주셔서 감사합니다. 대단히 감사합니다. –