Laravel 5.2 ajax CSRF

Laravel 5.2 ajax CSRF,laravel,Laravel,我正试图用阿贾克斯写一篇文章给拉威尔。当使用get方法时,它工作得很好,但是对于POST,它失败了 代码如下: 在我的app.blade上,我已放置: <meta name="csrf-token" content="{{ csrf_token() }}" /> 我知道我的路线是有效的,因为我拥有GET的所有功能,它工作得很好,我只将其更改为POST,并使用疑难解答工具: Failed to load resource: the server responded with a st

我正试图用阿贾克斯写一篇文章给拉威尔。当使用get方法时,它工作得很好,但是对于POST,它失败了

代码如下: 在我的app.blade上,我已放置:

<meta name="csrf-token" content="{{ csrf_token() }}" />
我知道我的路线是有效的,因为我拥有GET的所有功能,它工作得很好,我只将其更改为POST,并使用疑难解答工具:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
以下是我的路线:

//Employee activity
Route::get('employeeactivity', ['uses'=>'EmployeeActivityController@getView','as'=>'employeeactivity']);

//AJAX
//Activity per employee
Route::get('activityperemployee', ['uses'=>'Ajax\ActivityAjaxController@getActivityPerEmployee','as'=>'ajaxactivityperemployee']);
Route::get('activityperproject', ['uses'=>'Ajax\ActivityAjaxController@getActivityPerProject','as'=>'ajaxactivityperproject']);
Route::post('activityperemployee', ['uses'=>'Ajax\ActivityAjaxController@postActivityPerEmployee']);
这是ajax控制器:

public function getActivityPerEmployee()
{
    $return = $this->activityRepository->getActivityPerEmployee();
    $data = Datatables::of($return)->make(true);
    return $data;
}
public function postActivityPerEmployee(Request $request)
{
    $where = [['col'=>'employee_id','val'=>'13'],['col'=>'month','val'=>'Jan']];
    $return = $this->activityRepository->getActivityPerEmployee($where);
    $data = Datatables::of($return)->make(true);
    return $data;
}
public function getActivityPerProject()
{
    $return = $this->activityRepository->getActivityPerProject();
    $data = Datatables::of($return)->make(true);
    return $data;
}

同样,如果在ajax请求中,我将类型从POST更改为GET,则一切正常。

您正在尝试向GET路由发送POST请求


{!!route('ajaxactivetyperemployee')!!}

相关路线为:


路由::get('activityperemployee',['uses'=>'Ajax\ActivityAjaxController@getActivityPerEmployee“,”as'=>”ajaxactivetyperememployee']);

因此,在您的情况下,您可以这样做(为您的帖子路线命名):


路由::post('activityperemployee','uses'=>'Ajax\ActivityAjaxController@postActivityPerEmployee“,”as'=>”postajaxActivityReployee']);

然后在ajax调用中使用新的命名路由:


{!!route('postajaxActivityRemployee')!!}


哪个将调用
postActivityPerEmployee
action

500错误意味着您的服务器出现问题,您可以向我们显示您的路由和控制器操作吗?查看Laravel日志以了解500错误的详细信息。当您使用
uses
时,可能需要
as
键?
public function getActivityPerEmployee()
{
    $return = $this->activityRepository->getActivityPerEmployee();
    $data = Datatables::of($return)->make(true);
    return $data;
}
public function postActivityPerEmployee(Request $request)
{
    $where = [['col'=>'employee_id','val'=>'13'],['col'=>'month','val'=>'Jan']];
    $return = $this->activityRepository->getActivityPerEmployee($where);
    $data = Datatables::of($return)->make(true);
    return $data;
}
public function getActivityPerProject()
{
    $return = $this->activityRepository->getActivityPerProject();
    $data = Datatables::of($return)->make(true);
    return $data;
}