2012-04-19 31 views
3

我遇到了将数据从Backbone传送到CodeIgniter应用程序的问题......在调用Backbone的save()sync()方法并检查Chrome Tools中的请求标头后,似乎Backbone将数据发送到服务器使用Request Payload而不是使用jQuery和标准HTML表单提交的标准表单数据方法。将数据从骨干处理到CodeIgniter

如果我启用Backbone.emulateJSON(),该帖子通过表单数据发送,我可以按照预期检索$this->input->post('model')中的数据。然后,我可以在该数据上调用json_decode()并且在路上 - 但是,这会破坏我对CodeIgniter验证库的实现。我将验证规则存储在单独的文件中,并且他们希望数据位于$this->input->post()的后台,而不是$this->input->post('model');

我已经调查使用菲尔鲟鱼的Restserver库。看起来,它将允许我通过处理PUTDELETE请求来删除Backbone.emulateHTTP()。不过,我仍然需要拨打$this->post('model'),验证仍然会被中断,事实上,验证甚至不支持使用此库的PUTDELETE请求!

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

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

回答

1

检查菲尔鲟鱼笨的REST类型的控制器实现。

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

这不会是必要的,如果您使用此休息控制器移动到修身或者其他框架。

+0

第三段原始帖子状态我查看了Rest Server,它不符合我的需要。我从此停止了BackBone的开发(原来的帖子是在四月份)。 – 2012-11-03 16:45:21

+0

很抱歉,哟是对的。 – javifr 2012-11-04 00:02:26