Muhammad Raheel
Muhammad Raheel

Reputation: 19882

Codeigniter method ajax issue related to url

I have a controller where i have a method called index. In this method i am retrieveing data from database and using a paging library setting variables for view for paging. When i add a new record i am hitting another function using ajax. There after insertion i call

$this->index();

Now in index i am checking a condition

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

but the problem is that when i come to index from my save function it looses the ajax request and my condition in index function in not checked and header and footer is always loaded. I want the ajax request still be available even if i jump from one method of codeigniter to another? Any suggestion? Or alter native. Because i dont want to create another function where create the paging again with header and footer ommited.

Upvotes: 0

Views: 269

Answers (1)

cchana
cchana

Reputation: 5000

Something that might be useful is CodeIgniter's session class which has a flashdata method. Flashdata is a bit of session data that is only stored for the next server request, then it is deleted.

In your save function, you could have this at the end:

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

and as part of the condition in your index function, you could have:

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

This would then check that the request was actually an ajax request OR that a session variable has been temporarily set to tell CodeIgniter that it should be treated like an ajax request.

Upvotes: 1

Related Questions