了解知识
使用AJAX更新内容的最简单的方法是使用partialRender方法。
对于本例我有三个文件:一个控制器(HelloWorldController.php)及两个视图(index.php和_ajaxContent.php)
controllers/HelloWorldController.php
 
  1. 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); } } 
myValue是actionIndex设定的“加载内容”,这个变量是加载的视图时index.php传递给“index.php”和“_ajaxContent.php”
注意:如果在你的控制器文件使用的是accessRules,你将需要修改accessRules()加适当的方法名—在这种情况下的updateajax是这样的:
 
  1. array('allow'// allow all users to perform 'index' and 'view' actions 'actions'=>array('index','view','updateajax'), 'users'=>array('*'), ), 
views/helloWorld/index.php
 
  1. <div id="data"> <?php $this->renderPartial('_ajaxContent'array('myValue'=>$myValue)); ?> </div> <?php echo CHtml::ajaxButton ("Update data", CController::createUrl('helloWorld/UpdateAjax'), array('update' => '#data')); ?> 
ajaxButton调用“actionUpdateAjax”并把返回的数据插入这个"data"div
views/helloWorld/_ajaxContent.php
 
  1. <?php echo $myValue ?> 
显示$myValue
现在,我们运行index.php?r=helloWorld
标签: ajax Yii框架
扩展知识