Soap 串到Sencha Touch 2的一家商店
我正在使用XML接收来自SOAP web服务的响应。我将所有需要的数据解析为字符串Soap 串到Sencha Touch 2的一家商店,soap,xml-parsing,sencha-touch-2,Soap,Xml Parsing,Sencha Touch 2,我正在使用XML接收来自SOAP web服务的响应。我将所有需要的数据解析为字符串 [{ZNA_COD:'111',ZNA_DESIG:'Blabla'},{ZNA_COD:'11',ZNA_DESIG:'Blabla'},{ZNA_COD:'1',ZNA_DESIG:'Blabla'},{ZNA_COD:'2',ZNA_DESIG:'Blabla'},{ZNA_COD:'11111',ZNA_DESIG:'Blabla'}] 如何将其存储在Sencha Touch 2中?最好的方法是什么 首
[{ZNA_COD:'111',ZNA_DESIG:'Blabla'},{ZNA_COD:'11',ZNA_DESIG:'Blabla'},{ZNA_COD:'1',ZNA_DESIG:'Blabla'},{ZNA_COD:'2',ZNA_DESIG:'Blabla'},{ZNA_COD:'11111',ZNA_DESIG:'Blabla'}]
如何将其存储在Sencha Touch 2中?最好的方法是什么 首先,您应该将数据解析为有效的JSON字符串,例如:
{data:[your data here]}
,如果您能够做到这一点,那么还押任务非常简单,包括两个步骤:
- 使用
将字符串解析为JSON对象Ext.decode
- 然后,
现在是您的结果数组。遍历它们并将它们添加到result.data
非常简单,因为我认为不需要在这里写下来,不是吗Ext.data.Store
Ext.define('ZNA', {
extend: 'Ext.data.Model',
config: {
fields: [
{name: 'ZNA_COD', type: 'string'},
{name: 'ZNA_DESIG', type: 'string'}
]
},
});
var store = Ext.create('Ext.data.Store', {
model: 'ZNA',
proxy: {
type: 'ajax',
url : 'www.your-service-url.com',
reader: {
type: 'xml',
record: 'ZNA'
}
}
});
store.load();
如果使用此过程,则在调用load方法时,它会自动将数据拉入存储。或者你可以设置自动加载
如果您的设备上已经有数据,并且对如何获取数据感到满意。然后,您可以创建模型的新实例,并用您的值填充它。然后你会把它保存到你的商店里
var instance = Ext.create('ZNA', {
ZNA_COD:'111',
ZNA_DESIG:'Blabla'
});
store.add(instance);
您可能需要检查语法,我可能有一些ST1.1的东西漂浮在那里。谢谢您的帮助!代码的最后一次平静对我的问题很有吸引力。我不知道我们可以在Sencha Touch上这样做。谢谢你的回答,但我要去@Martin;DI尝试了您的方法,当在第一个“{”之后有内容时,Ext.decode似乎不接受Json字符串。使用您的示例,如果我有“{data:[…”,它返回的是一个错误的Json字符串。