2014-10-19 2 views
1

1 webapp을 쓰고 서버에 1 JSON을 보내고 MySQL에 저장하려고합니다. (사용 MySQL은 하나 개의 클래스를 추가하는)이 내 컨트롤러HTTP/1.1 404를 찾을 수 없음 - JSON Spring MVC

POST http://localhost:8080/jsonspringhibernateexample/addclass [HTTP/1.1 404 Not Found 910ms] 

: 나는이 문제를 가지고

$("#addclass").click(function(e){ 
    $.ajax({ 
     url:"addclass", 
     type: "post", 
     contentType: 'application/json', 
     data: JSON.stringify({className:$("#input").val(),listStudent:null}), 
    }).done(function(){ 
     $("#listclass").appent("<option>"+$("#input").val()+"</option>"); 
    }); 
}); 

:

@Controller 
public class ClassController { 

    @Autowired 
    private ClassService classService; 
    @RequestMapping(value ="/index",method = RequestMethod.GET) 
    public String getIndex(ModelMap map){ 
     map.put("listClass",classService.getListClass()); 
     map.put("studentClass", new Class()); 
     return "class"; 
    } 
    @RequestMapping(value ="/addclass", method = RequestMethod.POST) 
    public String addClass(@RequestBody Class studentClass){ 
     classService.addClass(studentClass); 
     return "index"; 
    } 
} 

이 컨트롤러 호출하는 내 JQuery와있다 "# addclass"버튼을 클릭하면 클래스가 추가되었지만 컨트롤러는 index.jsp를 반환하지 않으며 문제가 발생합니다. 왜 그 오류가 발생합니까? 어떻게 해결할 수 있습니까? 감사합니다.

+0

컨트롤러가 실제로로드되고 있습니까? 생성자를 만들고 println을 호출하면 호출되는지 확인합니다. –

+0

예, 컨트롤러가 println이 요청을 수신했습니다. –

+0

컨트롤러 앞에 @ResponseBody를 추가하여이 문제를 해결했지만 여전히 작동하는 이유를 모르겠습니다. –

답변

0

컨트롤러 클래스보다 @RequestMapping(value="/jsonspringhibernateexample")이 있습니까? 아니요 headers = {"Content-type=application/json"}을 (를) 삭제하려고 시도합니다. 콘텐츠 유형이 잘못되었을 수 있습니다 (하지만 확실하지 않습니다).

+0

headers = { "Content-type = application/json"}을 제거했지만 같은 오류가 발생했습니다! 내가 1 클래스를 추가 할 때이 컨트롤러를 실행하면 클래스가 추가되었지만 AJAX는 에러 함수를 실행합니다. ([HTTP/1.1 404 Not Found 910ms] 에러로 AJAX가 에러를 반환합니다). 브라우저 콘솔에서 오류가 발생합니다. 죄송합니다. 영어가 좋지 않습니다. 희망을 이해! –

+0

제 영어 실력이 좋지 않습니다. 전체 컨트롤러 수업을 보여줄 수 있습니까? – KyleK

+0

내 게시물에서 컨트롤러를 편집했습니다. –

관련 문제