我看了很多关于这个问题的帖子,但由于某些原因我仍然遇到问题。我甚至试图用最少的数据创建一个Panel,但仍然没有运气。这真的是我的大脑。以下是我正在使用的代码:
Ext.onReady(function () {
var proxy = new Ext.data.HttpProxy({
url: path/to/app
api: {
load: path/to/app
}
});
var reader = new Ext.data.JsonReader({
successProperty : 'success',
idProperty : 'id',
root : 'data',
fields : [{name:'id', type: 'int'}]
});
var writer = new Ext.data.JsonWriter({
encode: false,
writeAllFields: true
});
var store = new Ext.data.Store({
autoLoad : true,
autoSync : true,
root : 'data',
restful : true,
fields : [{name: 'id'}],
proxy : proxy,
reader : reader,
writer : writer
});
Ext.create('Ext.grid.Panel', {
renderTo : 'gadgetview',
store : store,
columns : [{
header : 'ID',
text : 'ID',
dataIndex : 'id',
width : 50
}],
height : 200,
width : 450,
title : 'Example'
});
});
服务器的响应是:
{"data":[{"id":1}], "success":true}
我希望这是显而易见的事情。
答案 0 :(得分:1)
您的配置搞砸了。读/写器是代理上的属性。根是读者的财产。
Ext.onReady(function() {
var store = new Ext.data.Store({
autoLoad: true,
fields: [{
name: 'id'
}],
proxy: {
type: 'ajax',
url: 'myurl',
reader: {
type: 'json',
root: 'data'
}
}
});
Ext.create('Ext.grid.Panel', {
renderTo: 'gadgetview',
store: store,
columns: [{
header: 'ID',
text: 'ID',
dataIndex: 'id',
width: 50
}],
height: 200,
width: 450,
title: 'Example'
});
});