《Ext JS高级程序设计》节选:在CRUD操作中restful的设置以及使用Ext.Direct的问题

 

 

 

 

在上一节的示例中,也可以在 Store HttpProxy 中定义参数 restful 实现 RESTful 操作,不过在使用 RESTful 操作之前,先要了解清楚你所使用的服务器端语言是否支持路径式参数提交,譬如,以下格式:

usres/del/5

以上格式表示提交到 users 操作模块,执行删除操作,记录的 id 5

这是为什么呢?因为 restful 参数设置为 true 时,它改变了提交参数的方式,其基本方式如下:

someSite.com/controller/action/id

格式中, controller 就是操作模块, action 代表执行的是增加、编辑、删除还是加载操作,而 id 就是记录的 id

因而,不要错误理解为只有设置 restful true 才能实现 Store CRUD 操作,参数 restful 的作用只是改变参数的提交方式,并没其他特别的地方。

如果想在上一节的示例中使用 DirectStore ,那么必须在 RowEdit 的编辑控件外加一个 Form 。因为 Ext.Direct 对提交参数有严格的要求,但是数据加载、增加、编辑或删除等操作提交的数据都不相同,尤其是增加和编辑,要提交的数据因字段的多少而不同,因而为了简化操作和定义,增加和编辑操作采用的是 Form 形式的提交。因此, RowEdit 上的输入框必须在一个 Form 内,不然 Ext.Direct 会产生错误。

因此,笔者个人认为,如果全项目使用 Ext.Direct 作为数据的提交方式,不适合采用上一节这样 CRUD 操作,还是使用传统的 Form 编辑方式比较适合。

你可能感兴趣的:(Restful)