Yii中Ajax的使用

view
------------------------------------------------------------------------------------
<?php
$cs=Yii::app()->clientScript;
$cs->registerScriptFile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js');
?>



<!-- ▼显示提示信息▼ -->
<?php if(Yii::app()->user->hasFlash('success')){ ?>
<div class="flash-success">
	<?php echo Yii::app()->user->getFlash('success'); ?>
</div>
<?php } ?>

<?php if(Yii::app()->user->hasFlash('failed')){ ?>
<div class="flash-error">
	<?php echo Yii::app()->user->getFlash('failed'); ?>
</div>
<?php } ?>
<!-- ▲显示提示信息▲ -->




<div class="row">
<?php echo $form->textField($model,'cnt',array('size'=>'6', 'maxlength'=>'6'));?>
<?php echo CHtml::ajaxButton("随机生成邮件地址", 
        //CHtml::normalizeUrl(array('mail/makeMailAddress','count'=>'1')),   // GET方式进行请求
        CHtml::normalizeUrl(array('mail/makeMailAddress')),   // GET方式进行请求
        array(
            'data' => array('cnt'=>'js: $("#MailForm_cnt").val()'),  // 以GET方式将页面的值传递给后台
            'beforeSend'=>'function(){}',
            'update'=>'#MailForm_to',      // 更新对象 
            'success'=>'function(data){    
               $("#MailForm_to").val(data);
            }',                            // 将后台的返回值用JS显示在页面上
        )); ?>
</div>



Controller
------------------------------------------------------------------------------------
    public function actionMakeMailAddress(){
        if(Yii::app()->request->isAjaxRequest){
            if (isset($_GET["cnt"])){
                $cnt = is_numeric($_GET["cnt"]) ? $_GET["cnt"] : "0";
            } else {
                $cnt = 1000 ;
            }
            
            $data = "";
            for($i = 0 ; $i < $cnt ; $i++) {
                $data .= rand(10000000, 99999999)."@qq.com \n" ;
            }
            echo $data;
        } else {
            Yii::app()->user->setFlash("failed", "Request Error \n");
            $this->refresh();
        }
    }

你可能感兴趣的:(Ajax)