我有一个搜索框,用户将在其中输入用户名,该名称将在数据库数据中搜索,如果找到则以表格形式显示。 但是该值不会从搜索页面传递给搜索方法。
查看页面块
<form class="form-horizontal" method="POST" action="{{action('UserController@search')}}">
{{ csrf_field() }}
<div class="row" style="padding-left: 1%;">
<div class="col-md-4">
<div class="form-group">
<label>User Name</label><span class="required">*</span>
<input type="text" maxlength="100" minlength="3" autofocus="autofocus" autocomplete="off" required="required" name="UserName" class="form-control"/>
</div>
<div class="form-group" style="padding-left: 5%;">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</div>
</form>
控制器代码块
public function searchDev()
{
return view ( 'pages.UserSearch');
}
public function search(Request $request)
{
$UserName = $request->input['UserName'];
return response()->json($UserName);
return response()->json('hello world');
if($UserName != ""){
$User = User::where ( 'NAME', 'LIKE', '%' . $UserName . '%' )->get (['id','NAME','CONTACT','TEMP_ADDRESS']);
if (count ( $user ) > 0)
{
return view ( 'pages.UserSearch' ,compact('User'));
}
}
}
在search
方法中,json响应为空。
路线代码
Route::get('/UserSearch','UserController@searchDev');
Route::post('/UserSearch','UserController@search');
答案 0 :(得分:1)
在request
对象上,input
是一个方法,而不是数组。
要访问表单数据,您应该执行以下操作:
$request->input('UserName');
有关从请求对象中检索输入的更多信息,请参阅documentation
答案 1 :(得分:1)
获取输入值
使用一些简单的方法,您可以访问Illuminate\Http\Request
实例中的所有用户输入,而不必担心该请求使用了哪个HTTP动词。不管HTTP动词如何,均可使用input方法检索用户输入:
$UserName = $request->input('UserName');
或
$UserName = $request->UserName;