从angularjs执行更新时,我一直收到内部服务器错误500(TokenMismatchException)。
角度函数:
vm.eventSaved = function(event) {
$http.put('/api/events/' + event.eventid, vm.event).success(function(eventsuccess){
}).error(function(err){ });
};
通过vm.event传递的值
{
"events":
{
"_token": "xGD7kTETgmBytf8exwIUYHYEC6lKcPek9NCuz6Xh",
"eventid": "37",
"title": "Events",
"type": "info",
"startsAt": "2015-08-15T10:46:00+00:00",
"endsAt": "2015-08-15T11:46:00+00:00",
"draggable": "true",
"resizable": "true"
}
}
Laravel控制器功能:
public function update($id, AppointmentsRequest $request)
{
$appointments = Appointment::findOrFail($id);
$appointments->update($request->all());
return Response::json(array('success'=>true));
}
我应该添加一些东西给我的Laravel控制器来处理吗?我用“删除”做了几乎相同的事情,我没有收到这个错误。
答案 0 :(得分:0)
在laravel 5中,使用前端框架(如Angular)时会自动设置crsf令牌cookie。您应该考虑从已发送到控制器的输入中删除"_token": "xGD7kTETgmBytf8exwIUYHYEC6lKcPek9NCuz6Xh"
。然后尝试一下。