제목 | ajax 질문좀 드리겠습니다. | ||
---|---|---|---|
글쓴이 | 쫑 | 작성시각 | 2014/10/06 15:59:36 |
|
|||
기존에 만들어 놓았던 게시판을 코드이그나이터로 바꾸는 중인데요 기존 게시판 댓글도 ajax를 이용하여 만들었거든요 책에 나와있는 방식은 댓글 리스트를 바로 출력하기 보다는 append 방식으로 추가하는 것으로 판단되서 이러면 css를 2번작업해야할 것 같아서 기존 게시판과 동일하게 아래와 같이 하고 싶거든요 $.post("/codeigniter/board/comment_add", {table:table, view_no:view_no, content:content}, function(data){ $('#comment').load('board_comment_v.php'); }); 그리고 제가 MainController를 만들고 여기서 _remap과 $method를 출력해줍니다. 그리고 나머지 Controller에서 다시 MainController를 상속합니다. 위와 같은 방법을 사용하니 board_comment_v.php을 다시 load하면서 화면에 있는 모든 내용을 $('#comment') 여기에 다 출력해버리네요... $('#comment').load('board_comment_v.php'); 구문 그대로 board_comment_v.php 여기서 출력된 내용만 $('#comment')에 추가하려면 어떻게 해야할지... 부탁드리겠습니다 ㅠㅠ |
|||
다음글 | insert_id 질문 좀 드릴게요 (2) | ||
이전글 | 디비연결 라이브러리 사용방법 고수님들 좀 봐주세요 ㅠㅠ (2) | ||
양승현
/
2014/10/06 16:05:08 /
추천
0
|
쫑
/
2014/10/06 16:12:08 /
추천
0
public function _remap($method)
{ if (!$this->input->is_ajax_request()){ $this->load->view('menu_v'); } if(method_exists($this,$method)) { $this->{"{$method}"}(); } } 위 부분이 제 _remap 입니다. 일단 메뉴 부분은 조건절로 출력을 막았으나 $this->{"{$method}"}(); 을 어떻게 조건절로 넣어야 하는지요... |
양승현
/
2014/10/06 17:19:48 /
추천
0
쫑 // 리맵부분에선 막는부분이 없네요. 해당 메소드로 갔을때 상하단 출력을 하는가요? 필요한 부분만 ajax로 호출시 출력되도록 해야겠죠. 해당 command_add에서 다른 부분들도 다 출력을 한다면 그부분에서 조건절로 막아야 하고요. ^^;
|
쫑
/
2014/10/06 17:29:20 /
추천
0
양승현 //
음... 댓글을 달때 _remap에 오는 메소드 또한 view 입니다. 상하단 출력을 원하는게 아니라 댓글을 달때 view에 속하는 모든 소스가 $('#comment')안으로 들어 오는것이 문제점 입니다. board_comment_v.php에 해당 view에 대한 댓글을 출력하는 소스가 들어있습니다. $.post("/codeigniter/board/comment_add", {table:table, view_no:view_no, content:content}, function(data){ $('#comment').load('board_comment_v.php'); }); 위 jquery에 /codeigniter/board/comment_add 이 부분이 해당 view에 대한 댓글을 추가하는 부분이구요 저장 후 다시 해당 view에 대한 댓글을 load 하고 싶은데 현재 view에 있는 모든 html 소스가 $('#comment')에 들어옵니다. |
들국화
/
2014/10/06 17:35:36 /
추천
0
댓글 내용만 추가 하고 싶으면 따로 뷰를 만들거나 컨트롤에서 HTML을 빤들거나 해서 뿌려 주면 됩니다.
|
쫑
/
2014/10/06 17:41:07 /
추천
0
들국화 //
<? $view_no = $this->uri->segment(5); $sql = "SELECT * FROM se_board_comment where view_no = $view_no"; $query = $this->db->query($sql); $comment = $query->result(); ?> <? foreach($comment as $cm) { ?> <div class="cm_row"> <span><?=$cm->writer?></span> <span><?=$cm->content?></span> <span><?=substr($cm->date,0,10)?></span> <span> <?=$cm->no?></span> </div> <? } ?> 위에 소스가 board_comment_v.php 소스 입니다. view에는 바로 include 로 출력하고 추가 뒤에 load로 다시 갱신합니다만 view의 소스 전체가 $('#comment')에 들어옵니다 |
_remap에서 해더,푸터부분을 출력하시는 거라면 해당 부분에 조건절을 걸어 주셔서 처리하시면 될거 같아요.
저같은 경우는 ajax일경우 해더와 푸터를 따로 지정하여 쓴답니다.
질문하신게 이게 맞는건지 모르겠네요. ^^;