Laravel 5.1 : CSRF 保护和回显提交的表单值

Laravel 5.1 : CSRF protection and echoing submitted form values

我正在尝试使用 jQuery 回显输入的表单值,但在单击提交时出现 POST http://localhost:8000/settings/generalsettings/changedata 500 (Internal Server Error) 错误。我正在使用 Laravel 5.1.

我的代码中缺少什么?

这是我的 routes.php

Route::post('settings/generalsettings/changedata', 'UserSettingsController@changeData');

UserSettingsController.php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class UserSettingsController extends Controller
{

        public function changeData()
    {
        $variable = Input::post('name99');

        print_r($variable);
    }
}

generalSettings.blade.php

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">
    <link rel="stylesheet" href=""/>
        <meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
    <input id="name" type="text" placeholder="Enter your name">
    <input type="submit" id="sub">
    <div id="result"></div>
    <script src="/js/jquery-2.1.4.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            // set up jQuery with the CSRF token, or else post routes will fail
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });            // handlers
            $("#sub").click(function (y) {
                y.preventDefault();
                var user_name = $('#name').val();
                $.post(
                        "/settings/generalsettings/changedata",
                        {
                            name99: user_name
                        },
                        function (data) {
                            $('#result').hide().html(data).fadeIn(2000);
                        });
            });
        });
    </script>
</body>
</html>

在控制器文件的顶部添加 use Input

尝试使用 get 而不是使用 post 在控制器中接收 ajax 数据。

$variable = Input::get('name99');

我在 UserSettingsController class 的顶部添加了 use Input,问题解决了。