yii如何使用textfield输入调用json操作

yii如何使用textfield输入调用json操作,json,function,yii,action,call,Json,Function,Yii,Action,Call,我在尝试调用json操作时遇到问题 首先,在yii\u form.php中,我得到了一个表单,其中包含一个用于输入名称的文本字段,如下所示: <div class="row"> <?php echo $form->labelEx($model,'name'); ?> <?php echo $form>textField($model,'name'); ?> <?php echo $form->error($model,'name');

我在尝试调用json操作时遇到问题

首先,在yii\u form.php中,我得到了一个表单,其中包含一个用于输入名称的文本字段,如下所示:

<div class="row">
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form>textField($model,'name'); ?>
<?php echo $form->error($model,'name'); ?>
</div>
UserController.php中,有一个名为“actionGetUserData()”的函数, 这说明了该操作的具体操作

public function actionGetUserData(){
    $amount = User::model()->findAll("1 = 1 order by id DESC"); //為了排序
    $count = count($amount); 
    for ($i=0;$i<$count;$i++){
         $arr[$i]['id'] = $amount[$i]['id'];
        $arr[$i]['username'] = $amount[$i]['username'];
        $arr[$i]['userpwd'] = $amount[$i]['userpwd'];
        $arr[$i]['usertype'] = $amount[$i]['usertype'];
        $arr[$i]['modifytime'] = $amount[$i]['modifytime'];
        $arr[$i]['createtime'] = $amount[$i]['createtime'];
        $arr[$i]['allowip1'] = $amount[$i]['allowip1']; 
        $arr[$i]['allowip2'] = $amount[$i]['allowip2'];
        $arr[$i]['allowip3'] = $amount[$i]['allowip3'];
        $arr[$i]['allowip4'] = $amount[$i]['allowip4'];
        $arr[$i]['allowip5'] = $amount[$i]['allowip5'];

        /* $arr[$i][] = $amount[$i]->attributes; */
        /* echo "<pre>";
        print_r($amount[$i]->attributes);
        echo "</pre>"; */
    }
    $result = json_encode($arr);
    echo $result;       
}
公共函数actionGetUserData(){
$amount=User::model()->findAll(“1=1按id描述的订单”)//為了排序
$count=计数($amount);
对于($i=0;$i)*/
/*回声“;
<?php Yii::app->clientScript->registerScript('makeAjaxCall',
     'function makeAjaxCall(){
         $.ajax({
             url:"index.php?r=user/getuserdata",
             dataType: "json",
             type:"post"
             /*Any Other Ajax Options here, like the beforeSend, then, done and fail callbacks*/
         })
     });?>
<?php echo $form->textField($model,'name',array('onblur'=>'js:makeAjaxCall();')); ?>
打印(金额[$i]->属性); 回声“*/ } $result=json_encode($arr); 回声$结果; }
在本例中,让我们忽略函数的确切功能(仅举一个示例)。 我想知道textfield如何调用/触发json文件中的getuserdata操作index.php?r=user/getuserdata。 这意味着如何在textfield和json文件的操作之间建立关系

请告诉我如何使这项工作在yii


\u form.php(textfield)触发json文件(操作)

使用javascript,您可以实现一个函数,根据特定的javascript事件向控制器发出ajax操作调用


<?php Yii::app->clientScript->registerScript('makeAjaxCall',
     'function makeAjaxCall(){
         $.ajax({
             url:"index.php?r=user/getuserdata",
             dataType: "json",
             type:"post"
             /*Any Other Ajax Options here, like the beforeSend, then, done and fail callbacks*/
         })
     });?>
<?php echo $form->textField($model,'name',array('onblur'=>'js:makeAjaxCall();')); ?>