我在Laravel 5中有这样的URL:
domain.com/search-user/email@domain.net
当我输入此网址时,它会自动按给定的电子邮件搜索数据。
我应该如何将用户从其他控制器重定向到此URL?
我试过了,但它不起作用:
return view(‘controller.search-user')->with('email', $request->email);
我的路线档案:
Route::post('/search-user', 'tnt6weeklistController@postSearchUser');
Route::get('/search-user/{email}', 'tnt6weeklistController@postSearchUser');
-------解决---------- 仅使用此代码解决了问题(可能这不是最佳实践,但其他解决方案无效):
return \Redirect::to('http://domain.com/search-user/'.$request->email);
答案 0 :(得分:0)
我想这会奏效。
return url('/search-user/' . urlencode($request->email));
请注意,这会将@
更改为%40
(see here),因此您需要在处理此请求的位置替换它。
答案 1 :(得分:0)
或者Loek回答你可以使用redirect()->route()
方法
示例:
return redirect()->route('search-user', ['email' => $request->email]);
假设“email”是一个合适的路由参数。
答案 2 :(得分:0)
如果你有路线,那么你可以做这样的事情,
return \Redirect::route('search-user/example@email.com');
答案 3 :(得分:0)
我建议使用$ _GET,所以不要使用你拥有的网址,而是这样做:
domain.com/search-user/?email=email@domain.net
并更改您的代码,以便您处理$_GET['email']
。这应该有助于重定向问题。