传递变量我想收到这样的GET请求:在URL中的Laravel路由
people.php名=乔&年龄= 24
对于这一点,我有定义了以下路线:
Route::get('people.php?name={username}&age={id}', array(
'as' => 'people/username/age',
'uses' => '[email protected]',
));
但是这似乎不起作用。
如何定义此路线?
传递变量我想收到这样的GET请求:在URL中的Laravel路由
people.php名=乔&年龄= 24
对于这一点,我有定义了以下路线:
Route::get('people.php?name={username}&age={id}', array(
'as' => 'people/username/age',
'uses' => '[email protected]',
));
但是这似乎不起作用。
如何定义此路线?
Laravel不支持查询字符串路由。
创建一个常规的路线,然后从Input
门面拉查询字符串参数:
Route::get('people.php', array(
'as' => 'people/username/age',
'uses' => '[email protected]',
));
public function xfunction()
{
$username = Input::get('name');
$age = Input::get('age');
}
好吧,这个作品:) – horse
究竟是什么约瑟夫上面说的。但我想添加一个注意事项,即所有查询都应该始终在控制器方法中处理。我相信你知道,但最好的做法显然是永远不要在路线之外包含任何逻辑。
与Laravel一样,您也可以使用可选变量来代替查询。
因此,而不是/ test /?name = Jonathan,您可以使用/ test/{name?}然后您可以将其视为/ test /或/ test/Jonathan,但在控制器方法中,您必须使用
public function ($name = null;) { dd($name); }
你可以做example.com/{name}/{age}在你的路线,如果这是你想要的吗?所以,你将有一个url,像domain.com/Joe/24 – Robin
我们想要一个Ajax的调用,而且看起来Ajax GET以这种方式工作。 – horse