CI 묻고 답하기

제목 저는 이렇게 Ajax+json 사용 하는데요. 다른분들은 어떻게 사용하세요?
글쓴이 블랙환 작성시각 2015/06/22 17:03:24
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 23122   RSS
컨트롤러

load->view('ex_head');
		$this->load->view('ex_003_ajax_view');
		$this->load->view('ex_footer');

    }

    function ajax_json(){

        //클라이언트에서 String 유형으로 받았지만 내부구조는 JSON이다.
    	$data = $this->input->post('data', true);
        //print_r($data);

        //JSON 문자열을 받아서 PHP OBJECT 또는 연관 배열로 변환 한다.
        //두번째 인자가 TRUE이면 연관 배열로 변환한다.
        $json_object = json_decode( $data, false );
        //print_r($json_object);
        
        //데이터 처리를 하세요.

        //VALUE의 JSON 표현을 가지는 문자열을 반환합니다.
        //성공시에 JSON 인코드 STRING을 반환합니다.
        $json_output = json_encode($json_object, JSON_UNESCAPED_UNICODE);
        echo $json_output;
    }

}
?>

js파일
$(document).ready(function(e) {

	/* JSON 형태의 Object*/	
	var obj = {
		"type" 		: "A",
		"val"		: "B"
	}

	/* Object JSON을 String 형태로 변환한다.(변환되면서 겹따옴표로 감싸짐)*/
	obj = JSON.stringify(obj);

	//alert('jquery');
	$.ajax({
		type		: "POST",
		url			: "/dev.php/ex_003_ajax/ajax_json",
		data		: {	"data" : obj },
		dataType	: "json",
		success: function (result) {

			
			//alert(result);
			//alert( typeof(result) );
			$("#return_content").text(result.type);

			console.log(result);

		},error: function(request, status, error) {
			//console.log("code:"+request.status+ ", message: "+request.responseText+", error:"+error);
			alert("code:"+request.status+ ", message: "+request.responseText+", error:"+error);
		},complete:function(){

		}
	}) //Ajax 통신 End

});

 
 다음글 초보개발자입니다. 설치관련 아주 기초적인 부분 문의드려... (2)
 이전글 insert 할때 질문이있습니다. (2)

댓글

변종원(웅파) / 2015/06/22 17:28:42 / 추천 0
네. 보편적으로 사용하는 형태입니다.
특별히 다르지않아요.

restful library를 사용한다면 동일한 함수명(주소)에 put, get, post, delete 를 사용할 수 있는 정도입니다

function chat_put(){
}

function chat_post(){
}

function chat_delete(){
}

function chat_get(){
}

주소는 a.com/a_controller/chat 으로 동일하고 전송방식이 put, post, get, delete가 됩니다.
https://github.com/chriskacerguis/codeigniter-restserver 

좀더 전문적으로 api서버를 구축해야 한다면 위 방식을 이용하시는 것도 좋습니다.
블랙환 / 2015/06/22 17:40:43 / 추천 0
답변 감사합니다.~~^^ 

restful library 아~~ 처음들어보네요. 찾아 봐야겠어요.ㅎ