Backbone PUT请求和Laravel

时间:2014-11-18 15:13:30

标签: php api rest backbone.js laravel

我正在使用Backbone前端和Laravel REST api后端,在发送PUT请求然后尝试在API端读取该数据时,我看到了一些奇怪的行为。

如果我执行以下操作,

Input::all()这会返回一个NULL数组,但是如果我明确说明我想从Input输入哪个属性那么工作正常,即Input::get('name')返回“Jon Doe”我试图找到一些资源问题,我找到了2个解决方案,

<input type="hidden" name="_method" value="PUT" />添加到用于编辑模型的表单中,这似乎不起作用,第二个是将来自application/json的Backbone请求的内容类型更改为{{1}但是我无法想象如何做到这一点。

从PUT请求获取数据的最简单方法是什么 - 理想情况下我不想使用x-www-form-urlencoded,因为我不完全理解如何区分POST,编辑,保存和删除

============== UPDATE ==============

奇怪的是,我刚刚删除了我正在处理的方法的所有代码,而Backbone.emulateHTTP现在返回提交的表单数据,非常困惑!

1 个答案:

答案 0 :(得分:1)

为了让Laravel4与Backbone一起工作,您应该使用后端创建一个REST接口,实现使用Laravel规定的RESTful方法的Resourceful控制器。

在前端,您应该创建Backbone模型来存储数据的状态 在将其持久保存到服务器之前在Backbone模型上定义id时,会发生PUT请求。

因此,我首先使用Backbone模型管理所有前端应用程序数据,通过在模型上使用Backbone“save”来保存数据。

是否使用Input :: all()或Input :: get('name')是无关紧要的,取决于您的要求。通常,控制器仅用作将参数发送到存储库/模型的通道。我倾向于使用Input :: all()并在存储库或模型中管理我的条件(单个参数)。