2012-06-04 79 views
0

我最近开始使用sencha touch 2。我正在研究一个CRUD模型,并且完成了整个脚本。表单工作的很好,但只适用于“本地存储”。代码如下所示在Sencha Touch 2中创建CRUD模型

App.models.User = Ext.regModel('User', { 
fields: [ 
    { 
     name: 'active', 
     type: 'string' 
    }, { 
     name: 'id', 
     type: 'int' 
    }, { 
     name: 'name', 
     type: 'string' 
    }, { 
     name: 'resource_type', 
     type: 'string' 
    } ], 

validations: [ 
    { 
     type: 'presence', 
     name: 'name' 
    } ],proxy: { 
    type: 'localstorage', 
    id: 'sencha-users'}}); 

但我想创建/读取/更新/删除使用特定的API的数据,因此将不得不使用REST/Ajax代理。但是,当我使用ajax代理时,更改不会反映在api的url中。 如果有人愿意帮助,我可以分享更多的细节。 感谢

+0

你的意思是“变化未反映在api的url中”? –

+0

这个url定义了api- http://svc2-staging.mypsn.com/v1/cams/resources 所以我基本想要的是,当我在表单中输入数据时,它应该在那里更新但目前,我可以填写表格,但数据仅存储在本地存储中。 – Agrim

回答

0

最简单的方法是,当...说你的提交按钮被按下,则触发一个POST请求到您的API:

Ext.Ajax.request({ 
     url: API_URL, 
     params: {your_params_here}, 

     success: function(result) { 
      // successfully saved on the server 
     }, 

     failure: function(){ 
      // failed 
     } 
    }); 

这意味着你的后端服务器必须有一个API用来保存数据,例如:

YOURDOMAIN API = save_data &的param1 = ABC & param2的= XYZ