Yii+ajax+json练习

来源:互联网 发布:js根据方法名调用方法 编辑:程序博客网 时间:2024/05/17 06:45

ajax + json 简直是完美搭档。  

好累,不想说了,看了好多ajax和json的博客,然后再yii下做了一个练习,感觉还是学到了点啥的。 

视图文件中的js代码:
<?php  Yii::app()->clientScript->registerCoreScript('jquery');  ?><script>$(function(){update();});count = 0;function update(){count++;$.ajax({url:"<?php echo $this->createUrl('update');?>",data:{"num":count},dataType:"json",cache:false,success:function(data){var list=$("#list");var out = '';//alert(data[0].title);//遍历Json数据$.each(data,function(i){out+='<li><a href=./index.php?r=article/view&id='+data[i].aid+'>'+data[i].title+'</a></li>';});list.empty().html(out);}});if(count>6){count = 0;}}setInterval(function(){update()}, 2000);</script><div><ul id="list"></ul></div>
控制器里面对Ajax的处理:
public function actionUpdate(){if(Yii::app()->request->isAjaxRequest){$count = (int)Yii::app()->request->getParam('num');$c = new CDbCriteria;$c->select = 'aid,title';$c->limit = $count;$c->order = "create_time DESC";$data = Article::model()->findAll($c);echo CJSON::encode($data);}}
关于返回的json数据的遍历,在网上差了一些资料,得到一个比较实在的遍历json数据例子,如下:

<script>var a ={    "sys_bb": [        {            "menu_name": "报   表1",            "menus": [                {                    "menu_name": "库存"                },                {                    "menu_name": "销售"                }            ]        },        {            "menu_name": "报   表2",            "menus": [                {                    "menu_name": "盘点"                },                {                    "menu_name": "查库"                },                {                    "menu_name": "查销售"                }            ]        }    ],    "sys_cw": [        {            "menu_name": "财    务",            "menus": [                {                    "menu_name": "收款统计"                }            ]        }    ]}; $(function(){          $.each(a.sys_bb,function(i,n){              $("#navigation").append(a.sys_bb[i].menu_name+"<br>");        $.each(a.sys_bb[i].menus,function(i,n){                  $("#navigation").append("  "+n.menu_name+"<br>");        });            });          $.each(a.sys_cw,function(i,n){              $("#navigation").append(a.sys_cw[i].menu_name+"<br>");        $.each(a.sys_cw[i].menus,function(i,n){                  $("#navigation").append("  "+n.menu_name+"<br>")        });            }); });</script><div id="navigation"></div>




原创粉丝点击