关于CSRF _token提交值未空的疑问

<form action="{ url('moduleData') }"  method="post" role="form">
                                {!! csrf_field() !!}
                                <div class="form-group">
                                &nbsp;

                                    <i class="fa fa-calendar"></i>

                                   <input type="text" name="date_time" class="form-control form_date " value="{ $setParam['date_time'] }" size="12"  readonly>&nbsp;<label>名称:</label>
                                   <input type="text" name="module_name" class="form-control" size="50" value="{ $setParam['module_name'] }" placeholder="搜索定时任务名,例: app_page_visit">
                                </div>
                                <div class="form-group">
                                  <label>状态:</label>
                                  <select class="form-control" name="status">
                                    <option value="">all</option>
                                    <option value="finish" @if($setParam['status'] == 'finish') selected = selected" @endif>finish</option>
                                    <option value="running" @if($setParam['status'] == 'running') selected = selected" @endif>running</option>
                                    <option value="ready" @if($setParam['status'] == 'ready') selected = selected" @endif>ready</option>
                                    <option value="err_caught" @if($setParam['status'] == 'err_caught') selected = selected" @endif>err_caught</option>
                                  </select>
                                </div>
                                <div class="input-group">
                                   <input type="button" class="btn btn-primary" value="查询" onclick="this.form.submit();" >
                                </div>
                            </form>
  • post 提交的表单 传值 _token 值为空 是什么情况导致的? *

JellyBool

laravel 的具体版本是什么?路由是怎么注册的? middleware 设置好了么?

826186458 回复 JellyBool

Route::get(’/moduleData’, ‘Admin\AdminController@get_module_session_data_list’);
版本是 5.2
app/Http/Kernel.php代码
namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
/**
* The application’s global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

/**
 * The application's route middleware.
 *
 * These middleware may be assigned to groups or used individually.
 *
 * @var array
 */
protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];

}

JellyBool

所有路由加上 ‘middleware’ => ‘web’ 大概这样

Route::group(['middleware'=>'web'], function (){
    // 你的路由
});
826186458 回复 JellyBool

这个在 routes.php 文件下面已经是有的了

JellyBool 回复 826186458

额,那我就不太清楚了