Laravel 获取请求传递输入数据
Laravel get request pass input data
我正在尝试将一些输入数据从获取请求传递到我的控制器中的视图。我想知道这是可能的还是我做错了?我要传递的数据来自表单中的文本字段,如下所示:
<form id='query_form' role='form' action='{{ URL::route('getUserbase'); }}' method="get">
<div class='form-group'>
<div class='input-group'>
<input type='text' id='query-bar' required class='form-control' placeholder='Enter search query..' name='entered_query' />
<span class='input-group-btn'>
<input type='submit' class='btn btn-default btn-color' value='Go' />
</span>
</div>
</div>
</form>
我正在提交 ajax:
function standardGet($action)
{
$.get($action, function(data, status)
{
$("body").html(data);
});
}
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
standardGet(action);
});
在我的 laravel 控制器中:
public function getUserBase()
{
if(Request::ajax())
return View::make('admin.plugins.userbase')->with('search_request', Request::get('entered_query'));
else
return View::make('admin.plugins.userbase');
}
使用此代码 Request::get('entered_query') 为空,我也尝试过 Input::get('entered_query')。有什么想法吗?
编辑:getUserbase() 的路由:
Route::get('/admin/panel/userbase', array('uses' => 'AdminController@getUserbase', 'as' => 'getUserbase'));
编辑2:
还要澄清一下,如果我用我可以访问的任何值替换中的值,我只是无法从表单访问输入:return View::make('admin.plugins.userbase')->with( 'search_request', "test");
因为后台不发送:
function standardGet($action)
{
$.get($action, {data : data}, function(data, status){ // send data here.
$("body").html(data);
});
}
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
var data = $(this).serialize(); // serialize this form.
standardGet(action, data); // pass it here
});
我认为你必须改变这个:
Request::get('entered_query')
对此:
Request::get('name') // it should give you "entered_query"
Request::get('value') // it should give you typed text of input[name="entered_query"]
或者正如我在文档中看到的那样,他们使用了 Input::get()
,因此您可以尝试使用这些:
Input::get('name') // it should give you "entered_query"
Input::get('value') // it should give you typed text of input[name="entered_query"]
使用这个
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $('#formid').serialize(); //formid or formclass
standardGet(action);
});
Request::get('entered_query'); or
Input::get('entered_query');
您没有将任何数据传递给您的方法。尝试
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
var method = 'GET';
$.ajax({
type: method,
url:action,
data: $('#query_form').serialize(),
success: function() {
}
})
});
在你的getUserbase
方法中
dd(Input::all());
已编辑::
将你想要的变量传递给你的视图,如下所示
return View::make('admin.plugins.userbase', compact('search_request', Input::get('entered_query'));
检查您传递的变量在您的视图中是否为 Null,如下所示
@if(isset($search_request))
{{ $search_request }} //is not NULL echo it
@endif
我正在尝试将一些输入数据从获取请求传递到我的控制器中的视图。我想知道这是可能的还是我做错了?我要传递的数据来自表单中的文本字段,如下所示:
<form id='query_form' role='form' action='{{ URL::route('getUserbase'); }}' method="get">
<div class='form-group'>
<div class='input-group'>
<input type='text' id='query-bar' required class='form-control' placeholder='Enter search query..' name='entered_query' />
<span class='input-group-btn'>
<input type='submit' class='btn btn-default btn-color' value='Go' />
</span>
</div>
</div>
</form>
我正在提交 ajax:
function standardGet($action)
{
$.get($action, function(data, status)
{
$("body").html(data);
});
}
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
standardGet(action);
});
在我的 laravel 控制器中:
public function getUserBase()
{
if(Request::ajax())
return View::make('admin.plugins.userbase')->with('search_request', Request::get('entered_query'));
else
return View::make('admin.plugins.userbase');
}
使用此代码 Request::get('entered_query') 为空,我也尝试过 Input::get('entered_query')。有什么想法吗?
编辑:getUserbase() 的路由:
Route::get('/admin/panel/userbase', array('uses' => 'AdminController@getUserbase', 'as' => 'getUserbase'));
编辑2: 还要澄清一下,如果我用我可以访问的任何值替换中的值,我只是无法从表单访问输入:return View::make('admin.plugins.userbase')->with( 'search_request', "test");
因为后台不发送:
function standardGet($action)
{
$.get($action, {data : data}, function(data, status){ // send data here.
$("body").html(data);
});
}
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
var data = $(this).serialize(); // serialize this form.
standardGet(action, data); // pass it here
});
我认为你必须改变这个:
Request::get('entered_query')
对此:
Request::get('name') // it should give you "entered_query"
Request::get('value') // it should give you typed text of input[name="entered_query"]
或者正如我在文档中看到的那样,他们使用了 Input::get()
,因此您可以尝试使用这些:
Input::get('name') // it should give you "entered_query"
Input::get('value') // it should give you typed text of input[name="entered_query"]
使用这个
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $('#formid').serialize(); //formid or formclass
standardGet(action);
});
Request::get('entered_query'); or
Input::get('entered_query');
您没有将任何数据传递给您的方法。尝试
$('#query_form').submit(function(event)
{
event.preventDefault();
var action = $(this).attr('action');
var method = 'GET';
$.ajax({
type: method,
url:action,
data: $('#query_form').serialize(),
success: function() {
}
})
});
在你的getUserbase
方法中
dd(Input::all());
已编辑::
将你想要的变量传递给你的视图,如下所示
return View::make('admin.plugins.userbase', compact('search_request', Input::get('entered_query'));
检查您传递的变量在您的视图中是否为 Null,如下所示
@if(isset($search_request))
{{ $search_request }} //is not NULL echo it
@endif