2015-01-07 1 views
-1

웹 사이트에 포함 된 위젯을 작성하려고합니다. 이 위젯은 자바 스크립트를 사용하여 외부 웹 사이트에서 호출됩니다. jsonp 콜백에서 크로스 도메인 html을 반환하는 방법

내 위젯의 스크립트 코드 아래 웹 페이지에 추가

실행 : 그래서

:

var widget = { 
    initialize : function(containerId) 
    { 
     (function($) { 
     var url = 'http://localhost:8002/callback.js'; 

     $.ajax({ 
      url: url, 
      jsonpCallback: 'jsonCallback', 
      contentType: "application/json", 
      dataType: 'jsonp', 
      success: function(data) { 
       $("#" + containerId).html(data); 
      }, 
      error: function(e) { 
       console.log(e.message); 
      } 
     }); 

     })(jQuery); 
    } 
} 

이 코드가 주어진 HTML 컨테이너 (DIV) 그리고 여기에 내 위젯을 삽입되어 내 콜백입니다 , json으로 하드 코드 된 HTML을 제공하면 작동합니다. 이제, 내가해야 할 일은 : 요청 웹 사이트에 콜백을 보내기 전에 json 으로 다른 html 파일을로드하십시오.

+1

수행 방법은 사용중인 서버 측 언어에 따라 다릅니다. 지금 당신은 단지 정적 인 파일만을 가지고있는 것처럼 보입니다. 프로그래밍 방식으로 응답을 생성하는 서버 측 코드를 실행해야합니다. –

+0

CORSO가 출력을 활성화하여 jsonp가 필요 없다고 생각할 수도 있습니다. 그렇다면 원시 HTML을 보낼 수 있습니다 – charlietfl

답변

0

JSONP를 사용 중이고 크로스 도메인 예외가 발생하는 경우 데이터를 가져 오는 소스가 JSONP를 지원하지 않는다는 의미입니다. node.js 또는 다른 것을 사용하여 작업을 완료하는 것이 좋습니다.

+0

내 요청이 내 소스가 아닌 "요청자"측에서 실행되기 때문에 교차 도메인 예외가 발생합니다. 나는 그것을 바꾸려고한다. –