1

我正在学习 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}]

有什么帮助吗?

4

2 回答 2

1

这是一个jsfiddle,显示了包含您的数据的网格。关键之一是 json 阅读器的 root 属性。由于您的数据没有根,您可以保留根属性,它应该可以工作。如果您的数据包含在另一个字段(即根字段)中,则在阅读器中指定 root: 'myrootfield'。所以这是你的代理。同样在您的模型中使用 idProperty 指定关键字段,在您的情况下它是“ID”,我认为 extjs 默认为“id”小写的 idProperty,因此最好直接指定它。

  proxy    : {
            type   : 'rest',
            url    : 'localhost/mfw/api/products/all'
           reader: {
                type: 'json'
            }
           }
于 2013-05-13T18:36:29.527 回答
1

请将您的代理类型更改为“rest”而不是“Ajax”。更多地提及您的阅读器配置。您是否将 json 键映射到模型中的字段。

请参阅 sencha 指南以获得更清晰的信息。

http://docs.sencha.com/ext-js/4-2/#!/guide/data

谢谢

于 2013-04-12T10:51:49.567 回答