2011-08-16 51 views
1

我已经阅读了Sencha教程,API和论坛一段时间,但碰到了一面砖墙。我有一个存储Web应用程序数据的mySQL/PHP后端。我有以下Sench/ExtJS的构建:将商店更新写回服务器

App.stores.user = new Ext.data.Store({ 
    model: 'User', 
    proxy: new Ext.data.AjaxProxy({ 
     url: 'app/stores/scripts/connect.php', 
     extraParams: { 
      method:'user', 
      user_id: 3 
     }, 
     reader: { 
      type:'json', 
      root:'root' 
     } 
    }), 
    autoLoad:true 
}); 

数据加载到店很好,但我有直接更新一个用户实例的形式。

App.controllers.account = new Ext.Controller({ 
    save: function (options) { 
     options.user.set(options.data); 
     options.user.save(); // Generates error: Uncaught Error: You are using a ServerProxy but have not supplied it with a url. 
    } 
}); 

我怎样才能成功地实现/挂钩函数写脏记录回服务器?请求如何准备并通过?

谢谢。

回答

1

Uptil Ext Js 3.3.1在执行CRUD操作时,商店需要配置writer。只读是不需要的。这就是您的商店被加载的原因,但是在写入操作期间出现错误。在你的情况下,你必须指定一个JsonWriter。另外,如果您没有以宁静的方式使用商店,那么您还需要指定一个HttpProxy对象来告知商店在哪个网址发布store上的创建/更新/删除。

查看文档Ext 4.我也应该在这里类似。

+0

如何为商店指定HttpProxy对象? – Mark