我需要在一个让我对Laravel5.2疯狂的话题上得到一些帮助
我有以下的routes.php,我已经将其降到了最低限度:
use Illuminate\Http\Request;
/**
* Category Page
*/
Route::get('/category/test/', function()
{
dd("I'm in !");
dd(Input::all());
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}
当我调用以下url:http://192.168.99.100/category/test?page=55时,我希望在输入或请求中获得参数页,但是它始终是空的。下面的代码只显示“我加入了!”但别无他意。
你能帮我理解这里有什么问题吗?我以前使用过控制器和请求参数,但它也是空的,因此这个简单的测试。请注意,post请求运行良好。
谢谢!
发布于 2016-11-24 18:12:30
我终于发现了!
这是我的nginx配置中的一个问题,它阻止了正确设置php变量QUERY_STRING,而Laravel是基于这个变量来检索数据的。
有关更多信息,请参阅https://serverfault.com/questions/231578/nginx-php-fpm-where-are-my-get-params/362924#362924
不管怎么说,都是为了你的答案!
发布于 2016-11-24 04:51:55
您可以同时使用这两种方法,实际上您的代码中没有错误,除非您错过了Input
外观的use语句。
use Illuminate\Http\Request;
/**
* Category Page
*/
Route::get('/category/test/', function()
{
dd(Input::all());
dd("I'm in !");
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}
所以问题是为什么你什么也得不到!因为路由是GET请求,所以如果您向其发布/更新/修补任何内容,您将得到methodNotAllowed异常。现在就转到你的浏览器上,输入http://whateverdomain/category/test/?page=atiq&have=fun
,是的,现在有一些东西.
Route::get('/category/test/', function(Request $request)
{
$input=$request->All();
dd($input);
$page = request->get('page');
if(isset($page)){
dd($page, request->get('have'));
}
}
发布于 2016-11-24 02:36:11
因为你没有让函数期待请求
它应该是
Route::get('/category/test/', function(Request $Request)
{
$input=$Request->All();
dd($input);
// usage $input['query'];
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}
https://stackoverflow.com/questions/40768953
复制相似问题