unchanged
Title
Update content in AJAX with partialRender
Themost easyeasiest way to update content in AJAX is to use the partialRender method. For this exemple I have three files: a controller (HelloWorldController.php) and two views (index.php and _ajaxContent.php) <br /> #### controllers/HelloWorldController.php ~~~ [php] class HelloWorldController extends CController { public function actionIndex() { $data = array(); $data["myValue"] = "Content loaded"; $this->render('index', $data); } public function actionUpdateAjax() { $data = array(); $data["myValue"] = "Content updated in AJAX"; $this->renderPartial('_ajaxContent', $data, false, true); } } ~~~ The actionIndex set myValue to "Content loaded" and this variable is passed to the view "index.php" and to "_ajaxContent.php" <br /> *Note: if using accessRules() in your controller file, you will need to modify accessRules() by adding the appropriate part of the function name to a rule set - in this case* 'updateajax' *like this:* array('allow', // allow all users to perform 'index' and 'view' actions 'actions'=>array('index','view','updateajax'), 'users'=>array('*'), ), #### views/helloWorld/index.php ~~~ [php] <div id="data"> <?php $this->renderPartial('_ajaxContent', array('myValue'=>$myValue)); ?> </div> <?php echo CHtml::ajaxButton ("Update data", CController::createUrl('helloWorld/UpdateAjax'), array('update' => '#data')); ?> ~~~ The ajaxButton call "actionUpdateAjax" and the returned data are inserted in the div "data" <br /> #### views/helloWorld/_ajaxContent.php ~~~ [php] <?php echo $myValue ?> ~~~ Display $myValue <br /> Now, run index.php?r=helloWorld Enjoy! ### Links [Russian Version](http://dbhelp.ru/ajax-partialrender-update/page/)