CI 묻고 답하기

제목 ajax 간단한 질문 드려도 되겠습니까
글쓴이 beop 작성시각 2014/05/21 17:28:17
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13249   RSS
안녕하세요.
또 질문을 올리게되었네요.
ajax 에 대해서 공부하다가 어느정도는 알겠습니다.
근데 잘안되네요.

특히 ajax data에 이해와 그 값을 넘기는게 잘 이해가 안갑니다.

일단 view 입니다.
-------------------------------------------
이값을 post로 보낼 것입니다.
이버튼을 눌렀을때 검색이 되게 하려합니다.

    $( ".bt_search_data" ).click(function() {    
        var f_data = "search_data=" + $(".search_data").val();
        $.ajax({
            type: "post",
            url: "/mms/sp_search",  
            dataType: "json",
            data : f_data,
            complete: function(){
                DB 결과값을 뿌리고싶습니다.
            }
        });
    });

--------------------------------------------


컨트롤러(mms)
-----------------------------------------------

public function sp_search(){
        $search_data = $_POST['search_data'];  ->이렇게 받아 오는 것이 맞는지요.
        $data = $this->mms_m->get_search_data($search_data);
// 단순히 배열에 DB결과를 저장했습니다.
        echo json_encode($data);
        exit;
    }

모델(mms_m)
----------------------------------------------

function get_search_data($user_id, $search_data){
    $sql = "SELECT R_code, R_name, R_mobile FROM member Where        val='".$search_data."'";
     $query = $this->db->query($sql);
     $result = $query->result();
     return $result;
}
--------------------------

많이 길어졌네요

요약하면 DB결과값을 ajax로 뿌려주고 싶어서 공부해가며 짠 코드입니다.
하지만 전혀안되네요. 한 마디의 조언도감사히 듣겠습니다.
 
 다음글 코드이그나이터 초보 개발자입니다 (3)
 이전글 library 만드는것에 대한 관련 질문입니다. (3)

댓글

변종원(웅파) / 2014/05/21 19:06:40 / 추천 0
어디서 안되는지 찾는 것부터 시작하세요.

파이어폭스-파이어버그-넷탭 에서 반환된 데이터를 확인할 수 있습니다.
php에러인지 데이터가 제대로 반환됐는지 확인할 수 있습니다.

그리고 . 과 #을 구분해서 사용하세요. 검색버튼의 경우 유일한 값인 id를 사용하여 $('#idname') 형태로 사용하세요.

$_POST['search_data'];  -> $this->input->post('search_data', true); 형태로 사용하시구요
한대승(불의회상) / 2014/05/21 19:26:11 / 추천 0
일단 데이터가 잘 나오는지 부터 보는게 좋겠죠.
 
$( ".bt_search_data" ).click(function() {    
        $.ajax({
            type: "post",
            url: "/mms/sp_search",  
//            dataType: "json",
            data : $(".search_data").val(),
            complete: function(data){
                alert(data);
            }
        });
});
데이터 잘 보이면 dataType 주석을 제거해서 json으로 받으면 됩니다.
슘님 / 2014/05/22 08:49:37 / 추천 0
    var f_data = "search_data=" + $(".search_data").val();
이 부분을 
   var f_data = {search_data: $(".
search_data").val()};
로 바꿔보세요.