제목 | ajax 통신 문의드립니다 ㅠ.ㅠ | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 코드신되기 | 작성시각 | 2018/05/18 10:04:07 |
|
|||
컨트롤러 public function _remap($method) { $rgParams['class']='Json'; $this->output->set_header('Content-Type: application/json; charset=utf-8'); if(method_exists($this, $method)) { $this->{"{$method}"}(); } } public function historyMenuList(){ $this->load->library('form_validation'); $rgParams['menu_idx'] = $this->input->POST('menu_idx', TRUE); $result = $this->admin_service->historyMenuList($rgParams); echo json_encode($result); } =======================================================================================
뷰페이지 var url = "/json/historyMenuList"; var param = { menu_idx : $(this).val() }; $.ajax({ type:"POST", url :url, data:param, // data를 json 형식으로 파싱하여 전달, dataType : "json",//받을 데이터방식 success:function(args){ console.log(args); }, error:function(e){ } });
이렇게 보내는데 컨트롤러에 로그를 찍어보면 나오는데..
왜 뷰페이지에는 응답이 없을까요?ㅠㅠ
|
|||
다음글 | [문의]hooks.php에 등록 된 부분 핸들링 방법 (2) | ||
이전글 | 기본로직에서 로그인세션처리가 잘 안됩니다. (2) | ||
곰멍
/
2018/05/18 11:25:20 /
추천
0
|
배강민
/
2018/05/18 11:26:18 /
추천
0
http://주소//json/historyMenuList를 직접 실행해보면 원하는값을 제대로 echo하는데, js로 호출해보면 아무것도 없다는건가요? 404인건가요? 500인건가요? |
코드신되기
/
2018/05/18 13:08:12 /
추천
0
안녕하세요 404도 아니고 500도 아닙니다. 컨트롤러에서 디비까지 들어가고 그정보를 $result = $this->admin_service->historyMenuList($rgParams); echo json_encode($result); 이렇게 해서 다시 요청에 대한 응답을 주는데요. 디비까지는 들어가는거 확인되는데 페이지에서 응답이 아예 들어오지않습니다. console로 직은거는 확인용으로 해놓은겁니다. 왜 안되는지 미쳐버리겠네요ㅜㅜ도와주세요. |
코드신되기
/
2018/05/18 13:09:49 /
추천
0
http://주소//json/historyMenuList 이렇게 치면 정상적으로 데이터 가져옵니다 |
곰멍
/
2018/05/18 13:27:22 /
추천
0
이 부분은 스크립트 쪽에서 어떤 상황에 실행되는 건지, 콘솔에 혹시 다른 에러가 보여지고 있지 않은지 확인을 해봐야 될 것 같습니다.
|
코드신되기
/
2018/05/18 13:33:02 /
추천
0
text로 하니 데이터를 가져오네요. 근데 ajax 에러를 찍어보니 에러가 아래와 같이 로그가찍히네요 구글에쳐봐도 어떻게 해결해야하는지..잘모르겠네요ㅜㅜ 에러로그는 아래와같습니다. Uncaught SyntaxError: Unexpected token in JSON at position 0 |
코드신되기
/
2018/05/18 13:33:39 /
추천
0
분명히 컨트롤러단에서 json_encode로 묶어서 내렸는데 왜 json으로 못받는지 궁금합니다.ㅜㅜ
|
곰멍
/
2018/05/18 13:34:43 /
추천
0
var_dump($result); 로 어떤 데이터가 나왔는지 확인해 보셔야 될 것 같습니다.
|
코드신되기
/
2018/05/18 13:39:27 /
추천
0
var_dump($result); 이걸 컨트롤러단에서 뿌려야하나요?
|
곰멍
/
2018/05/18 13:39:47 /
추천
0
넵
|
코드신되기
/
2018/05/18 13:40:36 /
추천
0
[{"no":"4","menu_idx":"8","history_year":"1972","reg_date":"2018-04-10 15:30:34","udp_date":"2018-05-15 12:48:20"},{"no":"8","menu_idx":"8","history_year":"1971","reg_date":"2018-04-10 15:30:34","udp_date":"2018-05-15 12:45:28"},{"no":"9","menu_idx":"8","history_year":"1970","reg_date":"2018-04-10 15:30:34","udp_date":"2018-05-17 22:33:13"}] 이렇게 정상적으로 데이터는 가져오는데 이걸 왜 페이지에서 응답으로 못가져오는지 휴..미치겠네요 |
코드신되기
/
2018/05/18 13:42:33 /
추천
0
컨트롤러단에 var_dump로 하니 아래와 같이 나옵니다. Array ( [0] => Array ( [no] => 4 [menu_idx] => 8 [history_year] => 1972 [reg_date] => 2018-04-10 15:30:34 [udp_date] => 2018-05-15 12:48:20 ) [1] => Array ( [no] => 8 [menu_idx] => 8 [history_year] => 1971 [reg_date] => 2018-04-10 15:30:34 [udp_date] => 2018-05-15 12:45:28 ) [2] => Array ( [no] => 9 [menu_idx] => 8 [history_year] => 1970 [reg_date] => 2018-04-10 15:30:34 [udp_date] => 2018-05-17 22:33:13 ) )
|
곰멍
/
2018/05/18 14:00:22 /
추천
0
success 부분에서의 처리는 어떻게 되있는지 혹시 알 수 있을까요?
|
코드신되기
/
2018/05/18 14:02:30 /
추천
0
아예 들어오지 않습니다.
ajax쪽에 success:function(args){ console.log(args); , error:function(request,status,error){ console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } 이렇게 했는데 error쪽으로만 빠집니다. |
곰멍
/
2018/05/18 14:31:54 /
추천
0
크롬이시면 개발자도구 키시고 network에서 historyMenuList 주소값으로 요청하는 부분을 클릭해서 headers response 부분을 확인해 보셔야 될 것 같습니다
|
success:
function
(args){
console.log(args);
},
ajax 요청이 성공하면 여기 부분을 실행하는데 현재는 PHP에서 보내온 값을 개발자 도구의 콘솔에서만 볼 수 있는 문법만 사용하셨습니다. 별도로 DOM을 조작하셔야 될 것 같습니다.