繁体   English   中英

Sencha Touch:将数据存储json数据获取到selectfield中

[英]Sencha Touch: Get datastore json data into selectfield

我一直在艰难地尝试让我的selectfield显示我的模板数据。

我的TemplateStore如下所示:

Ext.regModel('tempItems', {
   fields: [
       { name: 'Name', type: 'string' }
   ]
});

Ext.regStore('TempStore', {
   model: 'tempItems',
   autoLoad: true,
   proxy: {
      type: 'ajax',
      url: 'http://localhost:56132/Service.asmx/GetTemplateModels',
      reader: {
         type: 'json',
         root: 'd'
      }
   }
});

选择字段代码:

xtype: 'selectfield',
name: 'template',
style: 'background-color: inherit; margin-left: 8px',
store: 'TempStore',
displayField: 'Name',
valueField: 'Name'

JSON返回数据:

"{"d":[{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 1","id":1},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 2","id":2},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 3","id":3},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 4","id":4},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 5","id":5}]}"

任何帮助或指示将是惊人的!

我正在上载一个示例项目,以显示我的问题: http : //www.vbninja.com/SenchaTouchProblem.zip

谢谢瑞安

更新:

检查代码后,您有几处错误。 首先,您没有使用json,而是使用了xml,因此您的阅读器不正确,然后在autoload config选项中输入了错字,它应该是autoLoad(请注意大写的L,这很难被检测到:)),无论如何尝试这个:

App.stores.tempStore = new Ext.data.Store({
    model: 'tempItems',
    proxy: {
        type: 'ajax',
        url: '/Service.asmx/GetTemplateModels',
        reader: {
            type: 'xml',
            record: 'TemplateModel'
        },
        actionMethods: {
            create: 'POST',
            read: 'POST',
            update: 'PUT',
            destroy: 'DELETE'
        }
    },
    autoLoad: true
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM