Using render() with Ajax (Cake 1.3.8)
Hi all,
I'm brand new to CakePHP, so forgive me if this is a silly question,
but I have been having trouble understanding how render() is supposed
to work with Ajax calls. Right now I am trying to implement a
calendar that has a load bar that disappears once all the scheduling
data for a particular group of employees is gathered from a somewhat
slow RESTful API. I am using jQuery to send a post request to my
controller like this:
$(document).ready(function(){
var id = $('#id").val();
$.post('/employees/month_view', {empid: id}, function(data){
$('#loading').fadeOut();
});
})
In my controller, I have a function called month_view() that looks
like this:
function month_view(){
$this->autoRender = false;
$empid = $this->params['form']['empid'];
$conditions= array('empid' => $empid);
$employees = $this->Employee->find('all', compact('conditions'));
$employees = array();
$this->set('employees', $employees);
$this->render('/employees/month_view');
}
I looked around and found a book ("Beginning Cake PHP: From Novice to
Professional") and a blog article (http://www.reversefolds.com/
articles/show/ajax) that seems to suggest that I should be able to
call $this->render('/employees/month_view', 'ajax') and have the month
view render on the page. However, that does not seem to work for me
and both of those sources look somewhat dated. Right now it appears
that the month_view.ctp is just being output as if I were calling echo
on the view, so if I changed my JavaScript to:
$(document).ready(function(){
...
$.post('/employees/month_view', {empid: id}, function(data){
$('#loading').fadeOut($('#content').append(data));
});
})
I can append the template to the content div, but that feels like the
wrong way of doing things. My question is: can I call render() for a
controller function that's being accessed via Ajax and have it display
the view directly or do I have to use JavaScript to append it (like
the above)?
--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home