我正在学习ExtJS-4.2,我正在学习他们的MVC教程...
我构建了我的控制器,视图,模型,存储......我的商店有硬编码数据。我有一个工作的WebAPI用于测试,它以json格式发送结果...
本教程讨论的是如何从本地文件读取并发送到API,
我想从API读取并将我的数据加载到商店......
Ext.define('AM.store.Productstore',
{
extend : 'Ext.data.Store',
model : 'AM.model.Productmodel',
autoload : true,
proxy : {
type : 'AJAX',
url : 'localhost/mfw/api/products/all'
//tutorial is no help any furthur from this point on
}
});
我的网址为localhost/mfw/api/products/all
我回来的json是
[{"ID":1,"Name":"aa","Category":"A","Price":200.00},
{"ID":2,"Name":"bb","Category":"B","Price":200.00
{"ID":3,"Name":"cc","Category":"C","Price":200.00},
{"ID":4,"Name":"dd","Category":"D","Price":200.00},
{"ID":5,"Name":"ee","Category":"E","Price":200.00},
{"ID":6,"Name":"ee","Category":"F","Price":200.00}]
任何帮助?
答案 0 :(得分:1)
请将您的代理类型更改为“休息”而不是“Ajax”。更多提及你的读者配置。您是否将json密钥映射到模型中的字段。
请参阅sencha指南以获得更清晰的信息。
http://docs.sencha.com/ext-js/4-2/#!/guide/data
由于
答案 1 :(得分:1)
这是jsfiddle,其中显示了包含数据的网格。其中一个关键因素是json阅读器的root属性。由于您的数据没有root,因此您可以将root属性保留为out,它应该可以正常工作。如果数据包含在另一个字段(即根字段)中,则在阅读器中指定root:'myrootfield'。所以这是你的代理人。同样在你的模型中使用idProperty指定关键字段,在你的情况下它是'ID',我认为extjs默认为'id'小写的idProperty,所以最好直接指定它。
proxy : {
type : 'rest',
url : 'localhost/mfw/api/products/all'
reader: {
type: 'json'
}
}