Laravel 在URL中搜索表单查询

Laravel 在URL中搜索表单查询,laravel,laravel-5,laravel-5.2,Laravel,Laravel 5,Laravel 5.2,我有一个常规的POST表单用于搜索功能。我目前有以下路线: 路由::post('/search','PostController@search'); 我使用jQuery/AJAX获取表单数据: $('form').on('submit', function(event) { event.preventDefault(); var form = $(this); $.ajax({ url: '/search', type: 'post',

我有一个常规的
POST
表单用于搜索功能。我目前有以下路线:

路由::post('/search','PostController@search');

我使用jQuery/AJAX获取表单数据:

$('form').on('submit', function(event)
{
    event.preventDefault();

    var form = $(this);

    $.ajax({
        url: '/search',
        type: 'post',
        data: form.serialize(),
        dataType: 'json',
        success: function(data)
        {
            //
        },
        error: function(data)
        {
            //
        }
    });
});
但是,当显示结果页面时,它仅在URL中显示
/search
,而不显示用户的查询,如:

http://www.website.com/search
我想做的是像
/search/{user query here}
,比如:

http://www.website.com/search/bob
本质上,我希望能够在URL中显示用户的查询

我怎样才能做到这一点?我怎样才能安全地做到这一点?

您有两个选择

  • 在不使用jQuery的情况下提交时,请使用范式并以“user/{user_name}”的形式给出操作。 为此,添加一条这样的路线

    路由::get('/search/{user_name}','PostController@show');

  • 当ajax成功时,将其重定向到页面“user/{user\u name}”

  • 你有两个选择

  • 在不使用jQuery的情况下提交时,请使用范式并以“user/{user_name}”的形式给出操作。 为此,添加一条这样的路线

    路由::get('/search/{user_name}','PostController@show');

  • 当ajax成功时,将其重定向到页面“user/{user\u name}”


  • 尝试使用重定向,如
    return redirect::route('search',array('user'=>{some query here}))您可能希望运行GET查询而不是post查询来实现这一点。我不认为这会改变当前的网址,虽然。e、 g
    http://www.website.com/search?q=bob
    @james他应该使用带有通配符的路由,使用重定向,比如
    return redirect::route('search',array('user'=>{some query here}))您可能希望运行GET查询而不是post查询来实现这一点。我不认为这会改变当前的网址,虽然。e、 g
    http://www.website.com/search?q=bob
    @james他应该使用带有通配符的路由