제목 | ajax 크로스도메인 시 문제 발생 | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 손씨가문 | 작성시각 | 2017/03/30 11:29:05 |
|
|||
현재 자바스크립트 내용입니다. 문제는 Cross-Allow-Domail No Access 문제가 발생하고 있습니다. 그래서 내용을 찾아보고 해결을 하는데, 잘 안되네요 var obj = new Object(); obj.media = media; obj.rewardkey = rewardkey; obj.CMD = cmd; obj.TOKEN = token; var json_data = JSON.stringify(obj); $.ajax({ url : "다른도메인", type: 'POST', crossDomain: true, dataType : 'json', data: json_data, success:function(msg){ alert(msg); }, error:function(request,error){ alert("message:"+request.responseText); } }); // end ajax
php부분입니다. 여러 방법으로 진행중입니다. 1. <?php header('Access-Control-Allow-Origin: *');header("Access-Control-Allow-Methods: GET, OPTIONS"); class Main extends CI_Controller { } 2. public function test($irl=null) { header('Content-type: application/json'); /header('Access-Control-Allow-Origin: *'); $config = $this->set_config; $config['irl'] = $irl; $config['category'] = 'tmoney'; $config['check_cors'] = TRUE; $this->load->view('header' , $config); $this->load->view('main'); $this->load->view('footer'); } } 3. public function __construct() { parent::__construct(); $this->output->set_header('Access-Control-Allow-Origin: *'); $this->load->database(); $this->home_path = $_SERVER['DOCUMENT_ROOT']; $this->set_config = array( 'path1' => null, 'path2' => null, 'slider' => 'on' ); }
이렇게 검색하고 검색하다보니 총 3개 의 방법으로 값을 넣고 진행해보았는데도, 저 문제가 해결이 안되네요...2번 방법의 경우에는 페이지 넘어갈때 header를 추가한 방법입니다. 셋다 controller main.php에서 처리가 되고 있습니다. 문제가 무엇일까요 ㅠㅠ
|
|||
다음글 | ci의 base_url함수 처럼 php자체에서도 bas... (1) | ||
이전글 | 네이버 블로그 오픈그래프 엑박 문의 드립니다 (5) | ||
변종원(웅파)
/
2017/03/30 11:35:45 /
추천
0
datatype : jsonp 로 하시고 post 가 아닌 get으로 처리하시면 크로스도메인에서 ajax통신할 수 있습니다.
|
손씨가문
/
2017/03/30 12:56:33 /
추천
0
POST 방식으로는 힘든가요? var urlp = 'http://210.216.95.108:8090/mktp/api/adhub/ad.api?rewardkey='+rewardkey+'&token='+token; $.ajax({
정확히 url은 저거입니다. GET에 JSONP로 보내니, 해당 값이 error로 넘어가네요 undefined로요
해당 에러 내용으로는 이렇게 옵니다.
210.216.95.108:8090/mktp/api/adhub/ad.api?rewardkey=37937055&token=7111EB7C…190CF19D20FFD21126FD73CCF0E838A2CE13252CEEA4303A3F19%22}&_=1490848009105:1 Uncaught SyntaxError: Unexpected token :
token값에 syntaxError가 발생하네요. 이 문제는 무엇일까요...ㅠ |
변종원(웅파)
/
2017/03/30 13:08:02 /
추천
1
그건 통신이랑 상관없는 서버 에러입니다. 서버 프로그램을 보세요. 통신은 성공한겁니다. |
kaido
/
2017/03/30 13:38:06 /
추천
0
3가지 방법이 있습니다.
1. jsonp 사용 2. curl 사용 3. 해당 사이트에 크로스 도메인 사용가능하게 서버 환경 설정하기 [난이도 어려움]
찾아보시면 전부 방법이 나와있습니다. 이문제는 ajax 오류가 아닙니다. |
손씨가문
/
2017/03/30 13:47:41 /
추천
0
넵 감사합니다. 다시 해보다가 추가 문제가 발생하면 질문 드리겠습니다 감사합니다!
|