PHP开发实例大全(提高卷) 中文完整pdf扫描版[244MB]
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请求 接收处理