处理从Backbone到CodeIgniter的数据

时间:2012-04-19 22:09:23

标签: php codeigniter rest backbone.js

我在将数据从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'),验证仍然会被破坏,事实上,使用此库的PUTDELETE请求甚至不支持验证!< / p>

我开始认为CodeIgniter有饼干,不会支持我有需要的前端要求。我一直坚持使用CodeIgniter,因为我已经习惯了它的架构,Datamapper ORM非常精彩。

有关如何进行的建议?如果您的建议附带一个优雅的RESTful实现,默认情况下可以使用Backbone,具有强大的ORM和广泛的验证/ XSS库,那么我对整个后端框架交换开放。或者如果你能解决我的CodeIgniter困境,那也是有效的。

2 个答案:

答案 0 :(得分:1)

检查Phil Sturgeon codeigniter restful controller的实现。

https://github.com/philsturgeon/codeigniter-restserver

如果使用此静止控制器,则无需移至Slim或其他框架。

答案 1 :(得分:0)

我会指引你http://www.slimframework.com。使用新的PHP闭包很好地实现了REST服务器。让我知道你是如何上场的!