最新消息: 新版网站上线了!!!

基本于Yii 的ajax json请求 接收处理

CGridview:

 

array(

'name'=>'remark',

'type'=>'raw',

'value'=>'CHtml::textField("remark",$data->remark,array(

"size"=>7,

//"readonly"=>"readonly",

"class"=>"textfix",

"id"=>"$data->id",

))'

),

这段落了哈。现在补上。

 

view:未输出的

 

Yii::app()->clientscript->registerScript('posiiton','

    jQuery("#person-grid .textfix").live("change",function() {//jquery 的 live 方法实在js用得多的网站不能少了

        if(!confirm("确定要fix这条数据吗?")) return false;

        var id = $(this).attr("id");

        var val = $(this).val();

        $.ajax({

            type:"POST",

            dataType:"json",//dataType (xml html script json jsonp text)

            data:{"id":id,"val":val},//json 数据

            url:"'.Yii::app()->createUrl("/admin/person/updateremark/").'",//YII 的生成地址

            success:function(json) {//成功获得的也是json对象

                //$.fn.yiiGridView.update("ad-grid");

                alert(json.val);//对象中的val属性

                $(this).val(json.val);

                //alert("success")

            }

        });

        return false;

    });

');

html:输出最后的结果

 

jQuery("#person-grid .textfix").live("change",function() {

if(!confirm("确定要fix这条数据吗?")) return false;

var id = $(this).attr("id");

var val = $(this).val();

$.ajax({

type:"POST",

dataType:"json",

data:{"id":id,"val":val},

url:"/admin.php?r=admin/person/updateremark",

success:function(json) {

//$.fn.yiiGridView.update("ad-grid");

alert(json.val);

$(this).val(json.val);

//alert("success")

}

});

return false;

});

controller:接收json ajax 请求

 

public function actionUpdateRemark(){

if(Yii::app()->request->isAjaxRequest){//是否ajax请求

$id =  (int)Yii::app()->request->getParam('id');//getparam 会获得 get post 变量 ,原来也可以接收json处理后的变量

$val = Yii::app()->request->getParam('val');

 

$model = $this->loadModel($id);

 

$model->remark = $val;

 

if($model->save()){

echo CJSON::encode(array('val'=>$model->remark));//Yii 的方法将数组处理成json数据

}

 

}

}

转载请注明:谷谷点程序 » 基本于Yii 的ajax json请求 接收处理