我有一个简单的休息存储,在用几条记录填充之后,我试图通过调用create function将post请求发送到带有记录数组的服务器。 发送POST请求但仅包含一条记录而不是一组记录。 更新 - 我忘了提到这条记录的字段为空值,这也很奇怪,因为我正在用值填充商店。
我停滞了。请给我一个亮点,我哪里出错了。感谢。我的代码示例:
Ext.define('my.store.testStore',{
extend: 'Ext.data.Store',
storeId: 'teststore',
model: 'my.model.testModel',
proxy: {
type: 'rest',
url: 'http://someurl.ru',
reader: 'json'
}
});
Ext.define('my.model.testModel',{
extend: 'Ext.data.Model',
fields: [
{name: 'name', type: 'string'},
{name: 'phone', type: 'string'},
{name: 'email', type: 'string'}
]
});
var namesList = [Ext.create('my.model.testModel',{
'name':'test name1',
'phone':'343-343',
'email':'test@test.com'
}),
Ext.create('my.model.testModel',{
'name':'test name2',
'phone':'6345',
'email':'test@test.com'
}),
Ext.create('my.model.testModel',{
'name':'test name2',
'phone':'24324',
'email':'test@test.com'
})
];
var testStore = Ext.create('my.store.testStore');
testStore.loadData(namesList);
testStore.create();
答案 0 :(得分:1)
您应该使用testStore.sync() insst的testStore.create()
另一件事:
关于namesList。你忘了在第3个模型中添加“)”。
var namesList = [Ext.create('my.model.testModel',{
'name':'test name1',
'phone':'343-343',
'email':'test@test.com'
}),
Ext.create('my.model.testModel',{
'name':'test name2',
'phone':'6345',
'email':'test@test.com'
}),
Ext.create('my.model.testModel',{
'name':'test name2',
'phone':'24324',
'email':'test@test.com'
})//Here was missed ")"
];
答案 1 :(得分:0)
经过一段美好的时光后,这个问题再次出现,所以无论如何我必须解决它。 最后,我成功找到了有效的解决方案。关键是要添加batchActions:true to store。像这样:
Ext.define('my.store.testStore',{
extend: 'Ext.data.Store',
storeId: 'teststore',
model: 'my.model.testModel',
proxy: {
type: 'rest',
url: 'http://someurl.ru',
reader: 'json',
batchActions: true
}