제목 | json이 작동을 안해요... | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 째리 | 작성시각 | 2019/01/18 17:36:39 |
|
|||
json형태가 아닌 text로받으면 정상적으로 처리되는데 왜 json으로만받으면 이상하게 조건문이 걸린 json만 리턴이됩니다. 조건문에 맞지않는데도 같은결과가나오네요;; 이것만 2일째 잡고있네요 참;; $UID = $this->input->post('UID'); $user = $this->user_model->getUserID(array('UID'=>$UID)); if($user->UID == $UID){ $result = ['success' => 'false']; $this->output->set_content_type('application/json'); echo json_encode($result,JSON_UNESCAPED_UNICODE); }if($user->UID != $UID){ $result = ['success' => 'true']; $this->output->set_content_type('application/json'); echo json_encode($result,JSON_UNESCAPED_UNICODE); }
|
|||
다음글 | 컨트롤러에서 조회된데이터에 서브쿼리 쓰는 방법이 있나요... (3) | ||
이전글 | 파일업로드 질문좀드릴게요.. (7) | ||
kaido
/
2019/01/18 18:16:03 /
추천
0
|
째리
/
2019/01/18 18:20:13 /
추천
0
kadio // 제가 아예안넘어오면 이해라도할텐데 아래 예시처럼 if부분 값은 넘어오구요. else부분이 절때로안넘어옵니다. db접근도 잘되고, 조건식이 틀릴리도없는데.. if (1==1){ $json = ['a'=>'b'] echo json_encode($json) }else{ $json = ['a'=>'b'] echo json_encode($json) }
|
하마쿵쿵
/
2019/01/18 18:48:39 /
추천
0
음 하나하나 확인해 보셔야 할듯 합니다. 파폭,크롬 개발자 모드에서 var_dump($_POST); 로 넘어오는 값을 찍어보세요. 1. UID, get_csrf_token_name, get_csrf_hash 정상적인지 확인, 2. 정상적으로 넘어오면, 비교문 값들에 빈문자열 포함될 수도 있어 tirm() 사용, 3. php5.4 이상이겠지만 설마하는 맘으로 [] 대신 array() 사용. 개발자 모드에서 echo $json; echo json_encode($json) 값이 어떻게 출력되는지 확인해 보시면 문제점을 찾을 수 있을꺼라 생각됩니다. |
엽토군
/
2019/01/18 19:00:17 /
추천
0
혹시
$user ->UID == $UID ←이 조건식이 항등식일 가능성은 없나요? 앞전 글에서 올려주신 DB조회 소스를 같이 생각해 보면 json 문제라기보다는 검증 단계에서 문제가 있는 거 아닌가 싶네요.
|
구문적으로 문제가 안되는데 json이 이상하게 안넘어오는 거라면 파일 인코딩 하고도 관련있을수 있습니다.
이전에 utf8 boom 으로 파일이 저장되어 있어서 한참 헤멧적이 있긴합니다.
그외에 뭔가 보이지 않는 빈 값이 들어가 있는경우도 있으니, 파일을 지우고 깨끗하게 타이핑 해서 해결되는 경우도 있습니다.