sxlifeng
sxlifeng
2014-11-05 16:23

easyUI datagrid 数据显示不出来的问题

  • easyui
  • easyui datagrid
  • 数据显示
  • php

用的是PHP+easyUI做的开发,EasyUI datagrid绑定数据源有问题,就是数据显示不出来。

<table id="family_info" class="easyui-datagrid" title="家庭成员信息" style="width:100%;height:auto" data-options="
            iconCls: 'icon-edit',
            fitColumns:true,
            rownumbers:true,
            url:'__URL__/stuFamilyJson',
            method:'get',
            singleSelect: true,
            toolbar: '#toolbar'">

原来在win下做开发,这样写是好使的,顺道贴出stuFamilyJson方法的代码:

public function stuFamilyJson(){
    $tb=D('StuFamily');
    $familyInfo=$tb->where('stu_id='.session('userId'))->select();
    foreach ($familyInfo as $key=>$familyInfoEach)            
    $familyInfo[$key]=$tb->parseFieldsMap($familyInfoEach);
    echo $familyInfo=json_encode($familyInfo);     
}

用浏览器开发者工具查看,得到返回值如下:

[{"id":"1","stuId":"1","folkName":"\u7236\u4eb2\u5927\u4eba","folkRelation":"\u7236\u5b50","folkCompany":"\u7236\u4eb2\u7684\u5355\u4f4d","folkPosition":"\u5de5\u4eba2","folkTel":"12345678910","folkAddress":"\u7ed9\u5927\u5bb6\u8bf4\u670di\u4e3au\u5346"},{"id":"2","stuId":"1","folkName":"\u6bcd\u4eb2\u5927\u4eba","folkRelation":"\u6bcd\u5b50","folkCompany":"\u6bcd\u4eb2\u7684\u5355\u4f4d","folkPosition":"\u5de5\u4eba","folkTel":"12345678910","folkAddress":"\u5bf9\u65b9\u7b54\u590d"},{"id":"6","stuId":"1","folkName":"\u5144\u957f\u5927\u4eba","folkRelation":"\u5144\u5f1f","folkCompany":"\u65e0","folkPosition":"\u65e0","folkTel":"123456","folkAddress":"\u70ed\u70ed\u70ed\u4ed6 \u5c14\u7279\u8ba9\u4ed6"}]

注:此部分汉字都编码了,这里就不还原。

但是现在这样写,前台就显示不出数据了!

把返回的数据直接粘贴到一个json文件,url改为该json文件,就能正常显示了。
但是,这终究不是个好办法,毕竟要和数据库交互,当然你可能说让后台操作,将结果写入json文件,这样确实可以,不过我不是很喜欢。
又想到了这样写:

<script type="text/javascript">
$(document).ready(
    $.post("__URL__/stuFamilyJson",
        function(data){
            data=eval("("+data+")");
            $("#family_info").datagrid({'data':data});
        }
    )
);
</script>

这样写发现也能正常显示。

那么,问题来了,我直接写url和这样用js写有什么区别么?为什么直接写url会出问题?还有另一个combobox,也是用url写的,刚做完好使,过了几天就不好使了,也不知道是什么原因,我觉得二者是同一原因引起的。求大神帮忙!!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答