用extjs的gridPanel显示json格式的数据。数据正确,但是页面没有显示。是怎么回事啊。高手帮帮忙啊。。。
这是show.jsp页面,要取到同一路径下的a.json文件里的数据<scripttype="text/javascript">Ext.onReady(function(...
这是show.jsp页面,要取到同一路径下的a.json文件里的数据
<script type="text/javascript">
Ext.onReady(function(){
var sm = new Ext.grid.CheckboxSelectionModel();
//创建一个表格的列模型
var cm = new Ext.grid.ColumnModel([
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'性别',dataIndex:'sex'},
{header:'年龄',dataIndex:'age'}
]);
var ds = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'a.json'}),
reader:new Ext.data.JsonReader({fields:['id','name','sex','age'],root:'root'}),
});
var grid = new Ext.grid.GridPanel({
renderTo:'grid',
frame:true,
title:'用户信息',
store:ds,
mode:'remode',
cm:cm,
sm:sm,
height:200,
tbar:[
{xtype:'textfield',name:'name'},
{text:'查询',name:'select'},'-',
{text:'新增',name:'add'}
]
});
ds.load();
});
</script>
这是a.json文件的内容。是一个json格式的数据。
root:[
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]
运行的效果是这样:
有表格。但表格里面没有数据。 展开
<script type="text/javascript">
Ext.onReady(function(){
var sm = new Ext.grid.CheckboxSelectionModel();
//创建一个表格的列模型
var cm = new Ext.grid.ColumnModel([
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'性别',dataIndex:'sex'},
{header:'年龄',dataIndex:'age'}
]);
var ds = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'a.json'}),
reader:new Ext.data.JsonReader({fields:['id','name','sex','age'],root:'root'}),
});
var grid = new Ext.grid.GridPanel({
renderTo:'grid',
frame:true,
title:'用户信息',
store:ds,
mode:'remode',
cm:cm,
sm:sm,
height:200,
tbar:[
{xtype:'textfield',name:'name'},
{text:'查询',name:'select'},'-',
{text:'新增',name:'add'}
]
});
ds.load();
});
</script>
这是a.json文件的内容。是一个json格式的数据。
root:[
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]
运行的效果是这样:
有表格。但表格里面没有数据。 展开
2个回答
展开全部
root:[
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]
这个不是JSON对象,少一对 大括弧 { }
这样
{root:[
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]}
再试试
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]
这个不是JSON对象,少一对 大括弧 { }
这样
{root:[
{id:'1001',Name:'张三',sex:'男',Age:'18'},
{id:'1002',Name:'李四',sex:'男',Age:'19'},
{id:'1003',Name:'王五',sex:'女',Age:'20'}
]}
再试试
追问
嗯嗯。谢谢啊。我本来想用show.jsp页面请求a.jsp页面的数据。数据没有出来,是为什么呢。a.jsp页面是这样:
String test = "{root:[{id:'1001',name:'张三',sex:'男',age:'18'},{id:'1002',name:'李四',sex:'男',age:'19'}, {id:'1003',name:'王五',sex:'女',age:'20'}]}";
response.getWriter().write(test);
这样是哪里错了呢?那应该怎么写才正确啊?
展开全部
1. reader是proxy的参数,不是store的参数
2.你这个json数据格式不对,要在root外在包一层:
{
root: [
...
]
}
2.你这个json数据格式不对,要在root外在包一层:
{
root: [
...
]
}
追问
store 也有这个参数的。
追答
1. 你先用网页调试工具看一下a.jsp请求的数据是否与期望的一直
2. json的输出可能还需要指定MIME类型application/json
其实extjs的帮助手册非常完善,里面还有很完整的例子,照着搞一下就差不多了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询