제목 | 정상 동작 하는데, ajax 200 에러 뜨고 있는데요... | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 신일 | 작성시각 | 2019/08/02 14:24:56 |
|
|||
안녕하세요, ajax 200 에러 alert이 뜨고 있는데요, 동작은 정상 작동 합니다. 특정 코드만 빼면 alert이 안 뜹니다. 왜 그런지 납득(?)이 되질 않아서요, 혹시 아시는 분 계시면 감사하겠습니다. if( $result == true ) { $this->send_email(); } <==== 이 줄이 들어가면 200 에러 alert이 뜹니다. 그런데 정상 동작은 됩니다.
[컨트롤러 코드] public function apply_insert() { $this->form_validation->set_rules('rbs_id', 'required'); $this->form_validation->set_rules('mem_id', 'required'); $this->form_validation->set_rules('pbs_id', 'required'); if ( $this->form_validation->run() == TRUE ) //폼 벨리데이션이 정상 통과 했다면 { ini_set('allow_url_fopen',1); $url = $this->input->post('parsing_url', TRUE); l $html = file_get_html( $url ); //모델로 넘길 data $data = array( 'db_table_name' => 'apply' , 'rbs_id' => $this->input->post('rbs_id', TRUE) , 'mem_id' => $this->input->post('mem_id', TRUE) , 'pbs_id' => $this->input->post('pbs_id', TRUE) , ); $result = $this->apply_m->apply_insert($data); //json으로 변환해서 뷰로 값 넘김 echo json_encode($result); //[2]해당 지원자 알림 메일링 if( $result == true ) { $this->send_email(); } //아래 send_email() 함수 호출 } }
[ 뷰 소스코드] $.ajax ({ url : "/recruit/apply_insert", type : "POST", dataType : "json", data : { //"csrf_test_name" : getCookie('csrf_cookie_name'), rbs_id : rbs_id , mem_id : mem_id , pbs_id : choice_pbs_id , //선택한 프로필의 pbs_id }, success : function(result) //리턴 값이 있을 시 { if (result == 8000) { alert("이미 지원한 입니다"); } else { alert("지원완료 되었으며, 전달 되었습니다"); } }, error : function(request,status,error) //리턴 값이 없을 시 { alert(request.status + " 에러가 발행해서 처리하지 못했습니다"); } })
|
|||
다음글 | 트리거 작성중에 문제가 있어서 질문 올립니다. | ||
이전글 | 배열 foreach. 안녕하세요, 수고들 많으십니다. ... (6) | ||
배강민
/
2019/08/02 14:56:30 /
추천
0
|
신일
/
2019/08/02 15:40:11 /
추천
0
와~ 강민님 추정하신게 맞았네요!^^ 감사합니다^^ |
코드만으로는 잘은 모르겠지만, 상황을 상상해보면
send_email() 메서드 내부에 어떤 echo가 있진 않은가요?
dataType이 json인데, json 데이터 뒤에 어떤 문자 또는 공백이 추가로 붙은 상태로 echo되는게 아닌가싶네요
저 send_email()의 유무에 다른 response의 결과가 정확히 일치하는지 확인해보는게 우선일듯 싶네요.