我有一个如下所示的路线,它将根据网址中的数据显示个人资料:
Route::get('/{region}/{summonername}', function () {
return 'Summoner Profile';
});
我在主页上有一个表单,其中包含一个输入框和区域选择器。我将此数据发布到:
Route::post('/summoner/data');
问题是我不知道如何转换表单数据,例如。召唤者姓名和地区为网址格式,用户将与个人资料页面一起显示,网址为/ {region} / {summonername}。我应该在我的控制器内使用Redirect ::吗?我觉得这是一种糟糕的做法。有什么建议吗?
现在,当我发布数据时,网址会显示为' /召唤者/数据'。
我希望这是有道理的,如果你需要更多澄清,请告诉我。
答案 0 :(得分:1)
是的,您需要重定向:
Route::post('/summoner/data', function (Request $request) {
return redirect()->url($request->region .'/'. $request->summonername);
});
答案 1 :(得分:1)
路线:
Route::post('/summoner/data','ControllerName@FunctionName');
Route::get('/{region}/{summonername}', function () {
return view('SummonerProfile');
});
控制器:
public function FunctionName()
{
$SummonerName = Input::get('SummonerName');
$Region = Input::get('Region');
return Redirect::to('/{$Region}/{$SummonerName}');
}
希望这会奏效。试试吧!
使用路线:
Route::post('/summoner/data',function () {
$SummonerName = Input::get('SummonerName');
$Region = Input::get('Region');
return Redirect::to('/{'.$Region.'}/{'.$SummonerName.'}');
});
Route::get('/{region}/{summonername}', function () {
return view('SummonerProfile');
});
答案 2 :(得分:0)
如果您想从URL获取数据,请执行以下操作
use Illuminate\Http\Request;
Route::post('/summoner/data', function (Request $request) {
echo $request->segment(1); // gives summoner
echo $request->segment(2); // gives data
});