jsonp 를 사용 하여 크로스 필드 문 제 를 해결 합 니 다.

ajax 의 사용 에 있어 서 Jsonp 는 도 메 인 문 제 를 해결 할 수 있 지만 서버 의 인터페이스 가 필요 합 니 다.
물론 혼자 놀 면 브 라 우 저 플러그 인 으로 도 메 인 문 제 를 해결 할 수 있 습 니 다.
클 라 이언 트 의 요청 은 다음 과 같 습 니 다.
   $.ajax({
        url: URL,
        type: "GET",
        async: false,
        data: requestParam,
        dataType: "jsonp",
        jsonp: "callback",
        jsonpCallback: "dataDeal",
        success: function (message) {
           
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("statusText:" + XMLHttpRequest.statusText + "
status: " + XMLHttpRequest.status + ";
readyState: " + XMLHttpRequest.readyState + ";
textStatus: " + textStatus); this; }

 
서버 의 인터페이스 처 리 는 다음 과 같다.
    @RequestMapping("/doManage")
    public void serviceForManage(HttpServletRequest httpServletRequest,
                                 String callback,
                                 HttpServletResponse httpServletResponse) {
        try {
            Writer out = httpServletResponse.getWriter();
            ResponseEntity response = service();//service    
            log.info("callback = 
" + callback + "(" + response.toJsonString() + ")"); out.write(callback + "(" + JSONUtils.toJSONString(response) + ")"); } catch (Exception e) { log.error("api error: " + e.getMessage()); } }

여기 서 client 는 jsonp 와 jsonpcallback 의 두 가지 매개 변 수 를 필요 로 합 니 다. 그 중에서 jsonp 의 매개 변수 callback 은 서버 의 인터페이스 매개 변수 callback 에 대응 하고 jsonpcallback 의 dataDeal 은 서버 인터페이스 에서 매개 변수 callback 의 값 에 대응 합 니 다.
 

좋은 웹페이지 즐겨찾기