2014-05-21 39 views
0

我试图插入一个新的记录,做store.add其次store.sync()。但它不会打电话给服务器。但是,当我加载现有记录并更改它并执行store.sync它确实有效。我的店看起来像下面这样:Store.add不打电话给服务器ExtJs4

  Ext.define('app.store.MyStore', { 
       extend : 'Ext.data.Store', 
       model : 'app.model.MyModel', 
       storeId : 'MyStore', 
       autoLoad: true, 
       pageSize : 50, 
       proxy : { 
        type : 'rest', 
        actionMethods : { 
         create : 'POST', 
         read : 'GET', 
         update : 'PUT', 
         destroy : 'DELETE' 
        }, 
        root : 'results', 
        url : 'my_url', 
        reader : { 
         type : 'json', 
         root : 'result', 
         totalProperty : 'totalCount', 
         messageProperty : 'message' 
        }, 
        simpleSortMode : true, 
       } 
      }); 

我加入了如下记录:

store.add (new app.model.MyModel (
    { 
     'field1' : val1, 
     'field2' : val2, 
     'field3' : val3 
    } 
    ); 
+0

您没有发布显示您添加记录的代码。 –

回答

-1

Store.add方法将模型实例的存储,因此它接受模型实例或模型配置的阵列对象。

如果你想使一个Ajax调用服务器,那么你应该使用store.load而不是store.add

see the link for reference

1

我没有看到你的代理服务器配置的作家。无论何时你想发送数据到服务器,你都应该在代理中配置写入器。

Ext.define('app.store.MyStore', { 
       extend : 'Ext.data.Store', 
       model : 'app.model.MyModel', 
       storeId : 'MyStore', 
       autoLoad: true, 
       pageSize : 50, 
       proxy : { 
        type : 'rest', 
        actionMethods : { 
         create : 'POST', 
         read : 'GET', 
         update : 'PUT', 
         destroy : 'DELETE' 
        }, 
        root : 'results', 
        url : 'my_url', 
        reader : { 
         type : 'json', 
         root : 'result', 
         totalProperty : 'totalCount', 
         messageProperty : 'message' 
        }, 
        writer:{ 
         /*configure writer as per your requirement*/      
        }, 
        simpleSortMode : true, 
       } 
      }); 
相关问题