Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sencha Touch:将数据存储json数据获取到selectfield中_Javascript_Json_Web Services_Sencha Touch - Fatal编程技术网

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

Javascript Sencha Touch:将数据存储json数据获取到selectfield中,javascript,json,web-services,sencha-touch,Javascript,Json,Web Services,Sencha Touch,我一直在努力让我的selectfield显示我的模板数据 我的TemplateStore如下所示: Ext.regModel('tempItems', { fields: [ { name: 'Name', type: 'string' } ] }); Ext.regStore('TempStore', { model: 'tempItems', autoLoad: true, proxy: { type: 'ajax', u

我一直在努力让我的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}]}"
任何帮助或指点都将是惊人的

我正在上传一个显示我的问题的示例项目:

谢谢 Ryan更新:

检查代码后,您有几处地方出错。首先,您没有使用json,而是使用xml,因此您的阅读器不正确,然后您在自动加载配置选项中有一个输入错误,应该是自动加载注意大写字母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
});

路易斯,谢谢你花时间回复。我补充说,但仍然没有运气:我上传了一个小应用程序,在这里演示我的问题:检查更新,如果你有任何问题,请告诉我。我设法让你的样本运行,所以如果这里缺少什么,可以压缩文件并发送给你。谢谢,路易斯!有时候,让别人从你的肩膀上看过去真的很有帮助。这是一个盯着代码看得太久的例子。