1

在全新安装 L4 时:

路由.php

Route::post('/test', 'TestController@store');

测试控制器.php

class TestController extends Controller  {


        /**
         * Store a newly created resource in storage.
         *
         * @return Response
         */
        public function store()

        {

                print_r(Input::get());
                //
        }

}

冰壶网址

curl --data "param1=value1&param2=value2" http://example.com/test

输出

Array
(
    [param1] => value1
    [param2] => value2
    [/test] => 
)

请求 URI 在这里做什么?

PS:使用 Nginx / Php-fpm 堆栈应该很重要。

4

2 回答 2

6

原来是我使用的 ngixn clean URL 片段。将其更改为:

 if (!-d $request_filename)
    {
        rewrite ^/(.*)$ /index.php?/$1 last;
    }

到:

 try_files $uri $uri/ /index.php?$args;

不过在上次更新之前它工作正常。

于 2013-02-18T09:29:24.133 回答
1

问题出在代码的其他地方,而不是 Laravel 4。

我刚刚使用 Laravel 4 的最新 beta 版本运行了以下测试:

Route::post('/test', function()
{
    print_r($_POST);
    print_r(Input::get());
});

看法:

<h1>Test</h1>
<form method="post" action="">
    <input type="hidden" name="test1" id="test1" value="testfield1" />
    <input type="hidden" name="test2" id="test2" value="testfield2" />
    <button type="submit">Submit</button>
</form>

结果:

Array ( [test1] => testfield1 [test2] => testfield2 )
Array ( [test1] => testfield1 [test2] => testfield2 )

您是否在代码中的其他任何地方使用输入类,也许在之前的过滤器中?

在你的代码中尝试上面的代码测试——它会给你什么结果?

于 2013-02-17T14:04:20.270 回答