2014-03-24 3 views
0

는 제가 아래 컨트롤러가 Jquery ajax 호출을 사용하여 스프링 컨트롤러를 호출 하시겠습니까?

<servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>classpath:spring/mvc-dispatcher-servlet.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 

web.xml의 구성에 이하있다.

@Controller 
    public class SomeController { 

     @RequestMapping(value = "/getData", method = RequestMethod.GET) 
    public ModelAndView showExtendedUi(@RequestParam("geo") String geo, @RequestParam("tab") String tab, @RequestParam("gid") String gid, HttpServletResponse response) { 
     //logic 
    } 

    } 

어떻게 jquery ajax 호출에 URL을 지정할 수 있습니까?

$.ajax({ 
      type: "GET", 
      url: "getData.do", 
      dataType: "json", 
      success: function(responseJson) { 
       alert("json"+responseJson); 
      }, 
      error: function(xhr, status, error) { 
       alert('Failed to get details: ' + error); 
      } 
     }); 
+0

그냥 보내고있는 데이터를 추가하십시오. 아약스 호출이 괜찮 으면 호출의 데이터 attr에 요청 매개 변수를 추가하는 것만 같습니다. –

답변

0

위의 코드를 살펴보면 다음 URL (기본 Tomcat 포트로 8080 포트라고 가정)으로 갈 수 있습니다.

http://localhost:8080/getData.do?geo=1&tab=1&gid=1 

이렇게하면 필요한 JSON이 브라우저에 표시됩니다. 여기 JSON 페이지가 나타나면 jQuery에서 $.getJSON()을 JSON을 가져 오는 메소드를 내장하고 있기 때문에 그냥 수행하십시오. 이 메서드에 대한 설명서를 볼 수 있습니다 here.

+0

DispatcherServlet 매핑의 * .do가 "getData.do"여야 함을 기억하십시오. –

+0

web.xml에 OP를 얻음으로써 어떤 이익을 얻을지 모르겠지만 편집되었습니다. – david99world

+0

순수 서블릿 매핑을 기억하지 않습니다. 할 필요는 없지만 서블릿 매핑 xD로 항상 "/"을 갖습니다. –