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