大家 我使用 flexigrid 做了一个 demo 但是 一直加载不上数据 ,不知道啥原因?
后台:
StringBuffer buf = new StringBuffer();
buf.append("{ page:1,total:5,rows: [");
for(int i=0;i<5;i++){
if(i != 0){
buf.append(",");
}
buf.append("{id:'row" + i + "',cell:['中国人','mojp'" + i + ",'aa']}");
}
buf.append("]}");
System.out.println(buf.toString());
response.getWriter().write(buf.toString());
使用 json串
前台:
function test_load() {
var param = "aa=mjp";
$("#gridTab").flexigrid({ // id和html元素一致
url : 'server.jsp',
dataType : 'json',
query : param,
colModel : [{
display : '企业名称',
name : 'name',
width : 200,
sortable : true,
align : 'left'
}, {
display : '帐号',
name : 'account',
width : 100,
sortable : false,
align : 'left'
}, {
display : '联系人',
name : 'contact',
width : 200,
sortable : false,
align : 'left'
}],
usepager : true,
title : '',
useRp : true,
rp : 5,
singleSelect : true, // 仅允许选择单行
showTableToggleBtn: true,
width : 500,
height : 200,
resizable : false,
pagestat : '显示 {from} 到 {to} 条, 共{total}条记录',
procmsg : '正在获取数据,请稍候 ...'
});
}
啥原因 ,谢谢!!!
[b]问题补充:[/b]
还是不行 那个 圈一直在转?
[b]问题补充:[/b]
数据已经相应到前台
{ page:1,total:5,rows: [{id:'row0',cell:['中国人','mojp'0,'aa']},{id:'row1',cell:['中国人','mojp'1,'aa']},{id:'row2',cell:['中国人','mojp'2,'aa']},{id:'row3',cell:['中国人','mojp'3,'aa']},{id:'row4',cell:['中国人','mojp'4,'aa']}]}
[quote]
{ page:1,total:5,rows: [
{id:'row0',cell:['中国人','mojp'0,'aa']},
{id:'row1',cell:['中国人','mojp'1,'aa']},
{id:'row2',cell:['中国人','mojp'2,'aa']},
{id:'row3',cell:['中国人','mojp'3,'aa']},
{id:'row4',cell:['中国人','mojp'4,'aa']}]}
[/quote]
很明显 你的json数据有问题
[code="java"]cell:['中国人','mojp'0,'aa'][/code]
应该是这样的吧
[code="java"]cell:['中国人','mojp0','aa'][/code]
对于你js里面取的
[quote]name : 'name', [/quote]
[quote]name : 'account', [/quote]
[quote]name : 'contact', [/quote]
有什么怎么取的呢?
这也有点怪
一般如果你把Java对象转换成json字符串
是需要相应的制定显示其属性-值的
页面取json数据才有效
楼主你仔细看看 从你给定的补充信息 只能想到这么多
response.getWriter().write(buf.toString());
[color=red]response.getWriter().flush();[/color]
你先确定后台的数据已经发送到前台了没有