CI 묻고 답하기

제목 뷰페이지를 로드하지않고 값을 넘겨주는 방법은없나요?
글쓴이 CIstarter 작성시각 2016/05/10 14:16:19
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 15583   RSS
$this->load->view('./_templates/header',$id);

이런식으로하면 페이지가 로드됨과동시에 값을 넘길수있잖아요 그런데

페이지를 로드하지않고 그냥 값만 넘겨주고싶은데 방법이없나요?

 

 다음글 sess_expire_on_close 질문드립니다 (3)
 이전글 DB세션에 대해서 질문있습니다. (4)

댓글

kaido / 2016/05/10 14:42:38 / 추천 0
페이지를 로드하지않고  어디에 값을 넘기고 싶으신 건가요?
CIstarter / 2016/05/10 14:48:30 / 추천 0
view딴에 특정 html파일에 값을넘기고싶어요!
kaido / 2016/05/10 14:50:58 / 추천 0

페이지를 로드 하지 않는 다는 의미는 컨트롤러나 헬퍼를 사용하지 않는 다는 말씀인가요?

 

구현상 별다른 방법이 없다면 그냥 include 하시면 됩니다.

가급적 자제를 하도록 되어있지, 사용 못하는 것은 아닙니다.

CIstarter / 2016/05/10 15:02:43 / 추천 0

아니요 현재 컨트롤러에서 작업하고있습니다.

그냥 값만넘겨주고싶습니다. 그러니까

$this->load->view('./_templates/header',$id); 이렇게하게되면 페이지를 불러와서표시가되게되버립니다.

그리고 include를 해도 페이지를 어쩔수없이 불러오기때문에 그런방법은 안될것같습니다.

 

그냥 값만넘겨주고 받고싶습니다.

this->exam.html($id) 이런게문법으로있다면좋겠네요;; 그냥 저html파일로 db에저장된 값을 보내겠다 이런문법이필요합니다

한대승(불의회상) / 2016/05/10 15:03:05 / 추천 0

$this->load->file('filepath/filename', true/false) 를 사용해 보세요.

http://cikorea.net/user_guide_2.1.0/libraries/loader.html

헤덥 / 2016/05/10 17:05:41 / 추천 0

데이터를 보내는것은 즉 화면에서 표시 또는 데이터값을 유지시킨다는 말씀이신데~ 

그렇다면 저러한작업을 한 페이지를  다른페이지에서 불러오고 싶으시단 말씀아니신가요?

CIstarter / 2016/05/10 19:46:53 / 추천 0
네맞습니다 헤덥님 jquery를 사용해 불러오려고합니다
헤덥 / 2016/05/12 11:11:32 / 추천 0

jquery 를 이용해서 하시는거면 컨틀롤러에서 view() 를 쓰기보단 ajax호출이 나을것 같은데요 

짐작으로는 페이지마다의 header 데이터를 다르게 주시고 싶으신거 같으신데 

그냥 대충 머리에서 생각나는 방법은

DB연동 작업이 필요할 시 Controller를 확장시켜 remap 을 이용해서 헤더에 값을 상태마다 다르게 주는 방법 

일반 단순 상태값등을 나타낼 경우는 세션 또는 정의된 상수등을 이용하는 방법 

마지막으론 $this->load->view 를 컨트롤러가 아닌 파라미터등과 함께 적당한 분기절에 맞춘 데이터를 연동시켜 헬퍼같은곳에 넣어놓고 실행되는 뷰 페이지에서 해당 함수를 불러오는방법

대충 이정도가 생각나네요 ~ 근데 위에서도 말씀드렸다시피 자바스크립트 작업이시면 ajax처리가 제일 좋을것 같습니다.