2010-12-14 6 views
0

내 프로젝트에서 codeigniter를 사용하고 있습니다. 페이지 새로 고침, 컨트롤러 페이지에서codeigniter, set_flashdata ('abc', 'hi);

,보기 페이지에서

$this->session->set_flashdata('abc', 'hi); 

이 는 에코 때

$this->session->flashdata('abc'); 

잘 작동합니다.

하지만, Ajax 호출이 아니라 페이지 새로 고침, 컨트롤러,

$this->session->set_flashdata('abc', 'hi); 

보기,

echo $this->session->flashdata('abc'); 

이 작동하지 않습니다 .....

~ 아무런 반향 없습니다 - _-; ajax에 세션 플래시 데이터를 잡을 메커니즘이 없습니까?

어떤 아이디어가 있습니까?

답변

0

아마 플래시 데이터를 사용하면 안됩니다.

반향 만하면됩니다. 에코는 컨트롤러 메소드에서 가져와야합니다. 응답을 수락하는 자바 스크립트를 페이지의 요소에 삽입해야합니다.

0

Ajax 호출은 컨트롤러/메소드가 출력 버퍼에 인쇄하는 내용 만 출력합니다. 그래서 당신은 아약스의 방법으로 호출되는 컨트롤러에

echo $this->session->flashdata('abc'); 

, 그것은 u는 다음 페이지에 표시 할 수있는 아약스 방법에 에코를 반환합니다 추가합니다. 뷰의 echo 문은 페이지가 새로 고쳐질 때만 실행됩니다. PHP는 런타임에 서버의 echo 문을 컴파일 한 다음 결과를 브라우저로 반환해야하기 때문입니다.

3

플래시 데이터는 다음 http 요청까지 저장됩니다.

당신은 그것을 이상 사용이 필요한 경우 :

$this->session->keep_flashdata('item'); 
관련 문제