Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs Ext-Ajax.request/Api.restations?_Extjs_Store - Fatal编程技术网

Extjs Ext-Ajax.request/Api.restations?

Extjs Ext-Ajax.request/Api.restations?,extjs,store,Extjs,Store,我正在使用ExtJS和Rails。我已经实现了CRUD功能,其中我使用Ext.Ajax.request进行插入并重新启动更新。关于哪一个更好的建议-使用Ext.Ajax.request或 Ext.data.Api.restActions 以下是参考代码: //** Insert - ajax.request **// btnSave.on('click',function(){ var unitname = Ext.getCmp('unitname').getValue(); v

我正在使用ExtJS和Rails。我已经实现了CRUD功能,其中我使用Ext.Ajax.request进行插入并重新启动更新。关于哪一个更好的建议-使用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

在内部,两者最终都会作为对服务器的Ajax调用。对于REST调用,将使用适当的HTTP方法。在编写Ajax请求代码时,可以使用POST进行更新和插入

我可以想到两个因素:

  • 重复代码:如果您的应用程序又大又复杂。请求将成为重复的代码并增加代码行数
  • RESTful API:如果您计划构建RESTful应用程序,最好的选择是使用Ext.Direct
  • 我不知道你为什么选择混合使用这两种方法!如果您正在使用REST概念,那么可以使用Ext.Direct执行CRUD。我不推荐CRUD的组合


    既然您已经在使用REST,为什么不完全使用REST呢?

    非常感谢!实际上,我是使用ajax请求实现的,一位朋友建议使用REST,所以我想知道其中的区别!:)