Heim >Backend-Entwicklung >PHP-Tutorial >easyui datagrid-easyUI datagrid 数据显示不出来的问题
easyui datagrid数据显示easyuiphp
用的是PHP+easyUI做的开发,EasyUI datagrid绑定数据源有问题,就是数据显示不出来。
<code><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'"> <p>原来在win下做开发,这样写是好使的,顺道贴出stuFamilyJson方法的代码:</p> <pre class="brush:php;toolbar:false"><code>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); }</code>
用浏览器开发者工具查看,得到返回值如下:
<code>[{"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"}]</code>
注:此部分汉字都编码了,这里就不还原。
但是现在这样写,前台就显示不出数据了!
把返回的数据直接粘贴到一个json文件,url改为该json文件,就能正常显示了。
但是,这终究不是个好办法,毕竟要和数据库交互,当然你可能说让后台操作,将结果写入json文件,这样确实可以,不过我不是很喜欢。
又想到了这样写:
<code><script type="text/javascript">$(document).ready( $.post("__URL__/stuFamilyJson", function(data){ data=eval("("+data+")"); $("#family_info").datagrid({'data':data}); } ));</script></code>
这样写发现也能正常显示。
那么,问题来了,我直接写url和这样用js写有什么区别么?为什么直接写url会出问题?还有另一个combobox,也是用url写的,刚做完好使,过了几天就不好使了,也不知道是什么原因,我觉得二者是同一原因引起的。求大神帮忙!!