CI 묻고 답하기

제목 안녕하세요 CI 초보 개발자 질문입니다!
카테고리 CI 2, 3
글쓴이 카앤호빵 작성시각 2020/08/02 09:43:20
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 9245   RSS

안녕하세요 간단한 포트폴리오 싸이트를 만들고 있습니다.

Jquery와 Ajax를 사용하는 부분에서 막혀서 질문 드립니다.

▼ 컨트롤러 코드

public function login(){

$this->load->view('homepage/header', $data); //헤더

$this->load->view('homepage/login'); //로그인 페이지

$this->load->view('homepage/footer'); //푸터

}

▼ 뷰 페이지

function get_ajax(){

$.ajax({

type : 'post',

url : '/main/get_ajax',

dataType : 'json',

data : {

id : $("#tid").val()

},

success: function(result){

alert(result['msg']); }, 

error:function(request,status,error){

document.write("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);

}}); }

 

▼ 컨트롤러 코드 (Ajax)

public function get_ajax(){

$id = $this->input->post('id');

print json_encode(array('msg' => $id));

}

/////////////////////////////////////////////////////

위에는 제가 사용한 코드 일부입니다.

위 코드는 정상적으로 잘 돌아가는데

__construct 함수에 뷰 페이지를 넣으면 문제가 생겨버립니다 ㅠㅠ

한 예로 제가 맨 위에 컨트롤러 코드에서 '모든 페이지에 공통으로 사용되는 header 뷰페이지'를 __construct 함수에 넣었습니다.

그리고 실행을 했는데 뷰는 합쳐지는데 200 에러가 발생했고 이틀을 고생하다 생성자에서 뷰를 불러올 때 에러가 난다는 것을 알게 되었습니다. ajax 함수에서 success로 가야하는데 error 함수로 가서.. 에러내용을 보니 200 에러가 뜨네요. 페이지로 값 전달은 되는데 오류 함수가 실행되네요..

 

1. 헤더를 생성자 함수를 사용해서 오류없이 사용할 수 있는 방법이 있나요? 또는 오류의 원인을 알 수 있을까요?

2. 푸터는 어떻게 자동으로 포함시킬수 있을까요?

 

ㅠ ㅠ 인터넷에 찾아봐도 저랑 똑같은 오류가 없는 것 같아서 올려봅니다 ㅠㅠ

(대부분 서버나 뷰에서 dataType을 맞추지 않은 경우 200 오류가 뜨던데 저는 잘 맞추어서 보내주었습니다.)

 

 다음글 php 세션을 ci hmvc에서 공유하는 방법 질문입니... (1)
 이전글 CI4 Model 관련질문입니다. (2)

댓글

변종원(웅파) / 2020/08/03 07:40:07 / 추천 0
매뉴얼에서 remap 검색해서 사용법 보시고 생성자 대체하세요
한대승(불의회상) / 2020/08/03 14:52:54 / 추천 0

변종원님 말처럼 _construct()에서 view 헤더를 빼고 remap()을 사용하세요.

상태값 200은 오류가 아닙니다.