2012-06-12 2 views
0

나는 인덱스라는 메서드가있는 컨트롤러가 있습니다. 이 방법에서는 데이터베이스에서 데이터를 검색하고 페이징 라이브러리에서 페이징보기 용 변수를 설정합니다. 새 레코드를 추가 할 때 아약스를 사용하여 다른 함수를 치고 있습니다. 이 전 인덱스에서 지금URL과 관련된 Codeigniter 메서드 아약스 문제

$this->index(); 

난 상태

if($this->input->is_ajax_request()){ 
    //dont load header and footer 
} 

를 확인하고 있지만 문제는 내가로부터 인덱스에 올 때 내는 아약스 요청 및 내 상태를 푼다 기능을 저장하는 것이 주시길 삽입 후 인덱스 함수는 체크되지 않고 머리말과 꼬리말은 항상로드됩니다. 내가 codeigniter의 한 메서드에서 다른 점프하더라도 아약스 요청을 여전히 사용할 수 싶습니다? 어떠한 제안? 또는 네이티브를 변경하십시오. 머리글과 바닥 글을 사용하지 않고 다시 페이징을 만드는 다른 함수를 만들고 싶지 않기 때문에.

답변

1

유용 할만한 것으로는 CodeIgniter's session class which has a flashdata method입니다. Flashdata는 다음 서버 요청에 대해서만 저장되는 약간의 세션 데이터이며 삭제됩니다. 당신의 저장 기능에

, 당신이 마지막에이를 수 :

$this->session->set_flashdata('ajax', true); 

및 색인 기능의 조건의 일부로

, 당신은 할 수 :

if($this->input->is_ajax_request() || $this->session->flashdata('item')){ 
    //dont load header and footer 
} 

이 다음 확인 것 요청이 실제로 ajax 요청이거나 세션 변수가 CodeIgniter에게 ajax 요청처럼 다루어 져야한다고 임시로 설정되었음을 나타냅니다.

+0

이 문제를 해결해 주셔서 감사합니다. 플래시 데이터를 한눈에 볼 수는 없지만 지금은 배웠기 때문에 기쁩니다. –

+0

또한 $ this-> index(); 리디렉션 (myurl)이 잘 작동하고 있습니다. –

관련 문제