我在将数据从Backbone处理到CodeIgniter应用程序时遇到问题...在调用Backbone的save()
或sync()
方法并检查Chrome Tools中的请求标头后,Backbone似乎将数据发送到服务器使用请求有效负载,而不是jQuery和标准HTML表单提交的标准表单数据方法。
如果我启用Backbone.emulateJSON()
,则会通过表单数据发送帖子,并且我可以按预期在$this->input->post('model')
中检索数据。然后,我可以在该数据上调用json_decode()
并在我的路上 - 但是,这将破坏我对CodeIgniter的验证库的实现。我将验证规则存储在单独的文件中,并在幕后预期数据驻留在$this->input->post()
中,而不是$this->input->post('model')
;
我已经研究过使用Phil Sturgeon的Restserver库。它似乎允许我通过处理Backbone.emulateHTTP()
和PUT
请求删除DELETE
。但是,我仍然需要调用$this->post('model')
,验证仍然会被破坏,事实上,使用此库的PUT
和DELETE
请求甚至不支持验证!< / p>
我开始认为CodeIgniter有饼干,不会支持我有需要的前端要求。我一直坚持使用CodeIgniter,因为我已经习惯了它的架构,Datamapper ORM非常精彩。
有关如何进行的建议?如果您的建议附带一个优雅的RESTful实现,默认情况下可以使用Backbone,具有强大的ORM和广泛的验证/ XSS库,那么我对整个后端框架交换开放。或者如果你能解决我的CodeIgniter困境,那也是有效的。
答案 0 :(得分:1)
检查Phil Sturgeon codeigniter restful controller的实现。
https://github.com/philsturgeon/codeigniter-restserver
如果使用此静止控制器,则无需移至Slim或其他框架。
答案 1 :(得分:0)
我会指引你http://www.slimframework.com。使用新的PHP闭包很好地实现了REST服务器。让我知道你是如何上场的!