Laravel 5 Ajax请求显示500错误

时间:2015-04-24 05:20:36

标签: jquery ajax laravel-5

我试图通过ajax使用表单将数据发布到控制器中的函数 我的代码是:页面顶部的<meta name="_token" content="{{ csrf_token() }}"/>和ajax代码:

$.ajaxSetup({
    headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});


$('form').submit(function(e) {
    e.preventDefault();
    $.post('save', {name:'name anything'}, function(data) {
        console.log(data);
    });
});

我的路线看起来像

Route::post('/page/save', [
        'uses'=>  'BackEnd\PagesController@store'
]);

但是我在控制台中收到以下错误

500 Internal Server Error

这就是我在控制器中所拥有的:

if(Request::ajax()) {
            $data = Input::all();
            print_r($data);
            die();
}

2 个答案:

答案 0 :(得分:1)

在控制器类启动之前添加 - use Illuminate\Http\Request;

对方法实施依赖注入 - public function store(Request $request)

$data = Input::all();尝试使用 - $data = $request::input('name');

希望问题能够得到解决。

控制器看起来应该像 -

<?php namespace App\Http\Controllers;

使用Illuminate \ Http \ Request; 使用Illuminate \ Routing \ Controller;

类PagesController扩展Controller {

public function store(Request $request)
{
    if($request->ajax()) {
        $data = $request->input('name');
        print_r($data);
        die();
    }
}

}

答案 1 :(得分:0)

您可以从firebug Net面板中找到确切的错误,您可以在其中选择“在新标签页中打开响应”。这将显示Laravel错误消息。

Chrome中也存在类似的检查响应内容的方式。