我需要通过Ajax执行一堆插入,更新和删除操作。以下哪项是更好的方法?
每个函数的各个方法(例如delete_foo,insert_foo,update_foo,delete_bar,insert_bar,update_bar等)
“主”方法,只需传递参数即可区分操作。
#2的方法的好处是可以合并各个方法中的常见事物,例如验证或ID解密等。但是,这也意味着这种主方法会相当大。
我认为,使用主方法调用单个方法不是一个好主意。原因是个别方法,如果剥离现在由主方法处理的常见任务,则是单行代码(大部分)。
答案 0 :(得分:2)
你应该考虑的事情是破坏性的东西 - 例如删除 - 永远不应该完全由GET请求控制。你应该总是使用POST参数。除此之外,我会说它完全取决于个人偏好以及逻辑上对您的系统来说是正确的。例如,如果您使用的是Zend Framework,您可以为每个操作分别执行操作,但在构造函数/ init方法中的控制器中使用一组通用的验证/解密
答案 1 :(得分:0)
这两种方法的替代方法是使用REST规则。这使用了除GET和POST之外的其他HTTP方法。
例如
GET /foo --select foo
POST /foo --this would insert
PUT /foo --this would update
DELETE /foo --this would delete
GET /bar --select bar
POST /bar --this would insert
PUT /bar --this would update
DELETE /bar --this would delete
更多细节可以在http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services找到。