| 제목 | 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을 조작하셔야 될 것 같습니다.