问题描述
- easyUI datagrid 数据显示不出来的问题
- 用的是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"":""u7236u4eb2u5927u4eba""folkRelation"":""u7236u5b50""folkCompany"":""u7236u4eb2u7684u5355u4f4d""folkPosition"":""u5de5u4eba2""folkTel"":""12345678910""folkAddress"":""u7ed9u5927u5bb6u8bf4u670diu4e3auu5346""}{""id"":""2""stuId"":""1""folkName"":""u6bcdu4eb2u5927u4eba""folkRelation"":""u6bcdu5b50""folkCompany"":""u6bcdu4eb2u7684u5355u4f4d""folkPosition"":""u5de5u4eba""folkTel"":""12345678910""folkAddress"":""u5bf9u65b9u7b54u590d""}{""id"":""6""stuId"":""1""folkName"":""u5144u957fu5927u4eba""folkRelation"":""u5144u5f1f""folkCompany"":""u65e0""folkPosition"":""u65e0""folkTel"":""123456""folkAddress"":""u70edu70edu70edu4ed6 u5c14u7279u8ba9u4ed6""}]
注:此部分汉字都编码了,这里就不还原。
但是现在这样写,前台就显示不出数据了!
把返回的数据直接粘贴到一个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写的,刚做完好使,过了几天就不好使了,也不知道是什么原因,我觉得二者是同一原因引起的。求大神帮忙!!
解决方案
浏览器的开发工具看下是不是报错了,我这里测试你的代码没有问题
解决方案二:
格式不正确,正确格式应为{total:100 rows:[{.....}{.....}]}。请仔细阅读API
时间: 2024-12-09 21:56:49