[英]Laravel 5.1: Unable to get form data in middleware
我有一個表單提交到indexController@postSwitch
。 我在postSwitch
操作中獲得了提交的數據,但是當我在中間件中執行相同的操作時,它返回null。 這是一個全球性的中間件,我只是想看看我是否有權訪問提交的數據。 該文檔表明,我應該能夠獲取表單數據。
像這樣..
// Form: just a simple form that posts `id` to /switch
// Complete routes
Route::group(['middleware' => ['auth'], function() {
Route::get('/', 'IndexController@dashboard');
Route::post('/switch', 'IndexController@postSwitch');
Route::get('/settings', 'IndexController@settings');
});
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
Route::get('password/email', 'Auth\PasswordController@getEmail');
Route::post('password/email', 'Auth\PasswordController@postEmail');
Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');
Route::post('password/reset', 'Auth\PasswordController@postReset');
// Middleware
public function handle($request, Closure $next)
{
$id = $request->input('id');
dd($id); // null
return $next($request);
}
// IndexController@switch
public function postSwitchBrand(Request $request)
{
$id = $request->input('id'); // Has the submitted data
}
該中間件在全球范圍內注冊。 即附加到\\App\\Http\\Kernel
的$middleware
屬性。 我想念什么?
根據我們在評論中的討論,我發現此處存在一個小故障,該故障在文檔中未定義。 我在laravel Git存儲庫上提出了一個問題,指出那里的問題。
這是問題的鏈接: https : //github.com/laravel/framework/issues/11278
laravel論壇上的鏈接:: http://laravel.io/forum/12-11-2015-form-data-not-accessible-in-middleware-via-request
嘗試使用以下內容:
$request->id;
訪問請求參數。
這很棘手,但看起來像以下內容:
$請求 - >的getContent()
或者如果獲取請求的json負載:
$請求 - > JSON()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.