Laravel 5 Internal Server Error 500和TokenMismatchException使用AngularsJS更新数据库

时间:2015-08-19 17:50:34

标签: angularjs laravel-5

从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控制器来处理吗?我用“删除”做了几乎相同的事情,我没有收到这个错误。

1 个答案:

答案 0 :(得分:0)

在laravel 5中,使用前端框架(如Angular)时会自动设置crsf令牌cookie。您应该考虑从已发送到控制器的输入中删除"_token": "xGD7kTETgmBytf8exwIUYHYEC6lKcPek9NCuz6Xh"。然后尝试一下。