만들면서 배우는 CodeIgniter Q&A

제목 ajax 댓글 등록에서.. responseText: " " 이렇게 리턴됩니다..
글쓴이 zlghzh 작성시각 2015/05/19 15:25:51
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13349   RSS
view_v.php

$(function(){
        $("#comment_add").click(function(){
            $.ajax({
                url: "/bbs/ajax_board/ajax_comment_add",
                type: "POST",
                data:{
                    "comment_contents":encodeURIComponent($("#input01").val()),
                    "csrf_test_name":getCookie('csrf_cookie_name'),
                    "table":"<?php echo $this->uri->segment(3);?>",
                    "board_id":"<?php echo $this->uri->segment(5);?>"
                },
                dataType: "html",
                complete:function(xhr, textStatus){
                    if (textStatus == 'success')
                    {
                        if ( xhr.responseText == 1000 )
                        {
                            alert('댓글 내용을 입력하세요');
                        }
                        else if ( xhr.responseText == 2000 )
                        {
                            alert('다시 입력하세요');
                        }
                        else if ( xhr.responseText == 9000 )
                        {
                            alert('로그인하여야 합니다.');
                        }
                        else
                        {
                            $("#comment_area").html(xhr.responseText);
                            $("#input01").val('');
                        }
                    }
                }
            });
        });
      });

ajax_board.php
  /**
  * 댓글
  */

  public function ajax_comment_add(){
          if( @$this->session->userdata('logged_in') == TRUE )
          {
              $this->load->model('board_m');

              $table = $this->input->post("table", TRUE);;
              $board_id = $this->input->post("board_id", TRUE);;
              $comment_contents = $this->input->post("comment_contents", TRUE);

              if ( $comment_contents != '')
              {
                  $write_data = array(
                      'table' => $table, //게시판 테이블명
                      'board_pid' => $board_id, //원글 번호
                      'subject' => '',
                      'contents' => $comment_contents,
                      'user_id' => $this->session->userdata('username')
                  );

                  $result = $this->board_m->insert_comment($write_data);

                  if ( $result )
                  {
                      //글 작성 성공시 댓글 목록 만들어 화면 출력
                      $sql = "SELECT * FROM ".$table." WHERE board_pid = '".$board_id."' ORDER BY board_id DESC";
                      $query = $this->db->query($sql);
  ?>
      <table cellspacing="0" cellpadding="0" class="table table-striped" id="comment_table">
  <?php
  foreach ($query->result() as $lt)
  {
  ?>
              <tr id="row_num_<?php echo $lt->board_id;?>">
                  <th scope="row">
                      <?php echo $lt->user_id;?>
                  </th>
                  <td><?php echo $lt->contents;?></a></td>
                  <td><time datetime="<?php echo mdate("%Y-%M-%j", human_to_unix($lt->reg_date));?>"><?php echo $lt->reg_date;?></time></td>
                  <td><a href="#" class="comment_delete" vals="<?php echo $lt->board_id;?>"><i class="icon-trash"></i>삭제</a></td>
              </tr>
  <?php
  }
  ?>

      </table>
  <?php
                  }
                  else
                  {
                      //글 실패시
                      echo "2000";
                  }

              }
              else
              {
                  //글 내용이 없을 경우
                  echo "1000";
              }
          }
          else
          {
              echo "9000"; //로그인 필요 에러
          }
      }

댓글 작성버튼을 클릭하고 
console.log(xhr); 을 이용해서 확인해보면,
responseText: " "이 null이어서 댓글 목록이 다 지워 지네요....
틀린부분을 못찾겠습니다 ㅜㅜ

설정파일에서 수정해야 되는 부분이 있는건까요?..

답변에 필요하신 추가 내용있으시면 말씀해주세요^^
답변 부탁드려요 ㅜㅜ
 다음글 도메인치면 게시판 리스트화면이 바로 나오게 하고 싶습니... (2)
 이전글 9.2 댓글 삭제 Ajax로 구현하기 - jQuery로... (1)

댓글

변종원(웅파) / 2015/05/20 14:08:15 / 추천 0
에러도 안찍히고 아무것도 안나온다면 db관련 에러를 의심해볼 수 있습니다.
쿼리를 출력해서 console.log(xhr)로 나온 쿼리를 콘솔에 직접 넣어서 실행해보세요.
zlghzh / 2015/05/24 12:47:49 / 추천 0
완성 소스 다운받아서 붙여 넣어보긴 되네요 ...ㅎ 
어딘지 모르겠지만 어딘가에서 오타가 있었던거 같습니다..ㅎ