Ext - Ajax.request / Api.restActions?

时间:2011-04-21 11:33:24

标签: extjs store

我正在使用Ext Js和Rails。我已经实现了CRUD功能,其中我使用Ext.Ajax.request for Insert和restActions for Update。关于哪一个更好的任何建议 - 使用Ext.Ajax.request或 Ext.data.Api.restActions ??

以下是参考代码:

//** Insert - ajax.request **//

btnSave.on('click',function(){
   var unitname =  Ext.getCmp('unitname').getValue();
   var description =  Ext.getCmp('description').getValue();
          Ext.Ajax.request({
          url: '/units',
          method: 'POST',
          params: {'data[unitname]':unitname,'data[description]':description}
          });
          grid.store.reload();
          grid.show();
          myform.hide();
         });

    //** Update - restActions **//

    Ext.data.Api.restActions = {
                //create  : 'POST',
                //read    : 'GET',
                update  : 'PUT'
                //destroy : 'DELETE'
                };
    btnUpd.on('click',function(){
                  var store = Ext.getCmp('maingrid').getStore();
                  store.save();

                 }); //end update

1 个答案:

答案 0 :(得分:2)

在内部,两者都以Ajax调用服务器结束。在REST调用的情况下,使用适当的HTTP方法。在编写Ajax请求时,您可以使用POST进行更新&插入。

我可以在这里考虑两个因素:

  1. 重复代码:如果您的应用程序庞大而复杂。 Ajax.request将成为重复的代码并增加代码行。
  2. RESTful API:如果您打算构建RESTful应用程序,最好的选择是使用Ext.Direct。
  3. 我不确定为什么你选择使用这两种方法的混合物!如果您正在使用REST概念,则可以使用Ext.Direct执行CRUD。我不推荐CRUD的组合。

    由于您已经在使用REST,为什么不完全使用REST?