후다다닥
391
2017-07-06 00:42:49
4
2251

ajax와 spring controller 연결 문제 해결 좀 해주세요.


1.controller부분.

@RequestMapping(value = "/idCheck" ,method=RequestMethod.POST)

public ModelAndView idCheck(@RequestParam ("id") String id, ModelAndView modelAndView) {

boolean check=rDao.idCheck(id);

   Map map = new HashMap();

   System.out.println(check);

   if(check==true)

 

    map.put("check", check);

   else

   map.put("check", check);

    

   modelAndView.addAllObjects(map);

 

   modelAndView.setViewName("jsonView");

    

   return modelAndView;

}


2. ajax 부분.


$(function(){

$('#idcheckbtn').click(function(){

$.ajax({

    url : "/idCheck",

    type : "POST",

    data:{

    "id":$("#id").val()

    },

    success : function(data) {

        alert("성공!");


       if($.trim(data)=="true")

      $('#idcheck').html('<b style="font-size:18px;color:blue">YES</b>');

       else

      $('#idcheck').html('<b style="font-size:18px;color:blue">NO</b>');


    },

    error : function(jqXHR, textStatus, errorThrown) {

        alert("에러 발생~~ \n" + textStatus + " : " + errorThrown);

    }

});

});

});




코드구성은 이러하고 controller에 있는 db에서 id 중복 검사를 하여 ajax에 html태그를 조작하여 중복 체크를 하는 코드인데요 위에 ajax를 실행하면 계속 error부분 으로 들어가면서 not found 에러나 bad request 에러가 뜹니다. 분명 requestmapping도 잘했고 url도 맞게 입력했는데 ajax에서 컨트롤러에 있는 메소드를 못찾는 이유가 있을까요..? 아니면 다른 코드에 오류가 있는건지 알려주세요.

0
  • 답변 4

  • alan
    1k
    2017-07-06 01:25:02

    이것만 가지고는 알수가 없습니다.

    DispatcherServlet 경로가 "/" 로 잘 잡혔는지 도 봐야 하고

    개발자 도구 Network에서 url 과 form이 제대로 설정되었는 지도 확인해야 하고

    SpringElement에서 mapping 제대로 등록됐는 지도 확인해야 하고


    일단 브라우저에 /idCheck 쳤을 때 제대로 나오는 지부터 확인해야 겠네요

  • 후다다닥
    391
    2017-07-06 02:13:25

    다른부분은 다 정상작동하는데 (맵핑이되서 들어가짐)ajax 부분이 안됩니다 해서 제가 ajax 코드에 오류가있나싶어서 여쭤보는건데 틀린부분이있나요?

  • alan
    1k
    2017-07-06 02:49:27

    controller에 @ResponseBody가 빠졌네요

  •  
    2k
    2017-07-06 08:52:45

    @ResponseBody 이 빠졌습니다.

    modelAndView로 리턴이 되고 있습니다


  • 로그인을 하시면 답변을 등록할 수 있습니다.