TIP게시판

제목 타 도메인간의 ajax호출시 문제해결방법..
글쓴이 양승현 작성시각 2013/10/16 17:41:13
댓글 : 2 추천 : 1 스크랩 : 0 조회수 : 31072   RSS
다른도메인에 있는 웹페이지 호출시 보안상 막혀서 아무런 데이터를 받아볼수 없도록 되어 있답니다.

이때 아래의 방법들로 해결을 할수 있답니다.

A에서 B서버를 호출할때!

# 방법1 - B 서버단의 호출url페이지 최상단에  아래의 해더 소스 추가
@Header("Access-Control-Allow-Origin: *"); // 이것만 있으면 됨
@Header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
@Header("Access-Control-Allow-Headers:orgin, x-requested-with");

# 방법2 - jsonp타입을 사용하는 방법(A에서 호출시 아래의 방법으로 호출할수 있습니다.)
$.ajax({
    url : "http://domain",
    data : {
       "param" : value
    }
,
    dataType : "jsonp",
    jsonp : "callback",
    success: function(data) {
        if(data != null)    {
            alert(data.result);
        }
    }
});

# 방법3 - jquery의 getJSON()사용(A에서 호출시 아래의 방법으로 호출할수 있습니다.)
    function(data) {
            alert(data.result + ", " +  data.go);
    }
);

# 방법3 - sys_id를 이용한방법
더 알아봐야 한다.. 아직 제대로된 정보를 찾지 못했습니다. 다만 A에서 값을 지정후 B에서 해당 값에 대한 호출을 허용하는 방법이 있습니다.
 다음글 액티브레코드에서 where_in() 버그 (1)
 이전글 CodeIgniter Cheet Sheets (3)

댓글

한대승(불의회상) / 2013/10/16 18:04:10 / 추천 0
좋은 정보 감사 합니다.
JSONP는 GET방식만 사용 가능 하니 참고 하세요.
테러보이 / 2015/10/20 18:17:41 / 추천 0
좋은 정보 감사합니다.