Hi there,
I'm calling back via AJAX to a controller/action to have it render some markup that I want to inject into the DOM in the Ajax success handler. My code appears to work fine except that it executes twice? I suspect I am doing something wrong but if anyone has any ideas as to what that might be, I'd appreciate it! :)
public function priceTablesAction()
{
if ($this->request->isPost() && $this->request->isAjax()) {
$this->get_session_booking_data();
$package_id = intval($this->request->getPost('package_id', 'int'));
$booking_date = $this->request->getPost('booking_date', 'string');
$booking_date_int = strtotime(str_replace('/', '-', $booking_date));
$form = new PackageDateForm($this->session_booking_data->packages->value);
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
$this->view->setVar('form', $form);
$this->view->setVar('package_id', $package_id);
$this->view->setVar('booking_date_int', $booking_date_int);
$this->view->start();
$this->view->render('booking', 'priceTables');
$this->view->finish();
$markup = $this->view->getContent();
$this->view->disable();
echo json_encode($markup);
}
}
My callback code is really simple:
$.post('booking/priceTables', { 'booking_date' : booking_date, 'package_id' : package_id },
function(data) {
// Do something here ...
});
Thanks.