Laravel 4 将来自 blade 的输入传递给控制器

Laravel 4 pass input from blade to controller

我在 laravel 4 有一个项目。

在我的 blade 文件中我有:

<div class="col-sm-12">
            <a href="{{ action('HomeController@getMore') }}" data-limit="12" data-gap="12">Show more </a>
</div>

我想将我的极限和差距传递给控制器​​。在控制器中我使用 Input::get('limit');但我得到一个空值。 甚至 Input::all() returns null.

有什么建议吗?

谢谢!

试试这个:

<div class="col-sm-12">
        <a href="{{ action('HomeController@getMore', ['dataLimit'=>12, 'dataGap'=>12]) }}" data-limit="12" data-gap="12">Show more </a>

并确保您的路由和控制器传递了参数。 路由必须配置 dataLimitdataGap 参数,并且控制器方法必须接受它。

输入用于表单。如果你想使用锚点,你必须像这样

传递参数给url
<a href="/url?limit=12&gap=12" >Show more </a>

这使它们对您的控制器而言是可选的。您只需要使用 request().

获取它们
$limit = request('limit');
$gap = request('gap');

HTML(查看)代码

  1. a 标签的代码 <a href="url('submit/Parameters...')">click ok </a>

  2. 表单代码 <form method="POST" action="{{url('submit/Parameters..')}}" method="post"> {{ csrf_field() }} ... </form>

航线代码

  1. 带动作的路由代码 Route::get('user/{id}', function ($id) { echo "id is : ".$id ; });

  2. 控制器的路由代码
    Route::get('user/{id}', 'UserController@show');

    控制器代码
    <?php

namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;

class ShowProfile extends Controller { public function index($id) { echo $id; } }

有关更多信息,请参阅以下内容 https://laravel.com/docs/5.4/controllershttps://laravel.com/docs/5.4/routing