我在将数据从 Backbone 处理到 CodeIgniter 应用程序时遇到问题......在调用 Backbone 的save()
或sync()
方法并检查 Chrome 工具中的请求标头后,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
andDELETE
请求甚至不支持验证!
我开始认为 CodeIgniter 有饼干,不会支持我急需的前端需求。我一直坚持使用 CodeIgniter,因为此时我已经习惯了它的架构,而且 Datamapper ORM 非常棒。
关于如何进行的建议?如果您的建议附带一个优雅的 RESTful 实现,该实现默认与 Backbone 一起使用,具有强大的 ORM 和广泛的验证/XSS 库,我对整个后端框架交换持开放态度。或者,如果你能解决我的 CodeIgniter 困境,那也可以。