[SPRING] Ajax 요청을 사용하여 스프링 컨트롤러에서 뷰를 반환하는 방법은 무엇입니까?
SPRINGAjax 요청을 사용하여 스프링 컨트롤러에서 뷰를 반환하는 방법은 무엇입니까?
나는 jquery를 사용하여 ajax 요청을하고, 다음 스프링 컨트롤러를 호출한다.
@RequestMapping(value = "/dialogController", method = RequestMethod.POST)
public String dialogController(Model model, @RequestBody MyClass myclass) {
myClass.setTitle("SUCCESS");
model.addAttribute("myClass",myClass);
return "dialogContent"; //this resolves to dialogContent.jsp
}
그러나 다음과 같은 오류가 나타납니다.
org.springframework.web.HttpRequestMethodNotSupportedException:
Request method 'POST' not supported
그리고 여기 jQuery를 사용하여 만들고있는 ajax 호출이 필요하다면 :
jq.postJSON("/dialogController", myClass, function(data) {
myDialog.html(data);
myDialog.dialog('open');
//dialog settings previously assigned,
//but the success callback function is not reached anyway
});
편집하다 내가 사용하면 같은 오류가 발생합니다 :
jq.ajax({
type: 'POST',
url: "/dialogController",
data:myClass,
success: function(data) {
previewDialog.html(data);
previewDialog.dialog('open');
});
해결법
-
==============================
1.집에있는 시청자를 위해 ... 문제가 아약스 호출과 일치하지 않는 컨트롤러에 정의 된 메서드 서명 때문인 것으로 나타났습니다. 모델 메서드 매개 변수를 컨트롤러 메서드에서 제거했습니다. 나는 또한 새로운 모델과 시각을 돌려 주어야한다는 것을 깨달았습니다. 다음은 작업 코드입니다.
집에있는 시청자를 위해 ... 문제가 아약스 호출과 일치하지 않는 컨트롤러에 정의 된 메서드 서명 때문인 것으로 나타났습니다. 모델 메서드 매개 변수를 컨트롤러 메서드에서 제거했습니다. 나는 또한 새로운 모델과 시각을 돌려 주어야한다는 것을 깨달았습니다. 다음은 작업 코드입니다.
var myJSON = {"title":"help"}; myJSON = JSON.stringify(myJSON); <c:url var="postAndView" value="/PostJSONMAV" /> ... jQuery.ajax({ type: 'POST', url: "${postAndView}", data:myJSON, contentType: "application/json", success: function(data) { previewDialog.html(data); previewDialog.dialog('open'); } });
나는 ajax 호출로 바꿨지 만 jQuery.postJSON ()은 아마 작동 할 것이다. 아래에 새 컨트롤러 코드가 있습니다.이 컨트롤러 코드는 새 객체를 모델에 추가하고 jsp 페이지를 반환합니다.이 페이지는 대화 상자에서 열립니다.
@RequestMapping(value = "/PostJSONMAV", method = RequestMethod.POST) public ModelAndView postJSON(@RequestBody MyClass myClass) { ModelAndView mav = new ModelAndView(); myClass.setTitle("SUCCESS"); mav.setViewName("dialogContent"); mav.addObject("myClass", myClass); return mav; }
from https://stackoverflow.com/questions/7028507/how-do-i-return-a-view-from-a-spring-controller-using-an-ajax-request by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVC에서 Robots.txt에 액세스 할 수 없습니다. (0) | 2019.01.24 |
---|---|
[SPRING] 봄 검증 사용자 정의 메시지 - 필드 이름 (0) | 2019.01.24 |
[SPRING] 읽기 전용 모드에서는 쓰기 작업이 허용되지 않습니다. - 지속되는 동안 문제가 발생합니다. (0) | 2019.01.24 |
[SPRING] SpringMVC 사용자 정의 컬렉션 편집기가 Jsp로 데이터를 반환하지 않음 (0) | 2019.01.24 |
[SPRING] PostGIS 기하 저장 중 : "잘못된 엔디안 플래그 값이 발생했습니다." (0) | 2019.01.24 |