0

我在 Laravel 5 中有这样的 URL:

domain.com/search-user/email@domain.net

当我输入这个 URL 时,它会自动通过给定的电子邮件搜索数据。

我应该如何将用户从其他控制器重定向到这个 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);
4

4 回答 4

0

除了 Loek 回答的内容之外,您还可以使用redirect()->route()方法设置路线的参数

例子:

return redirect()->route('search-user', ['email' =>  $request->email]);

假设“电子邮件”是一个正确的路由参数。

更多详情:https ://laravel.com/docs/5.3/redirects

于 2017-01-19T11:29:50.100 回答
0

我想这会奏效。

return url('/search-user/' . urlencode($request->email));

请注意,这会更改@%40请参阅此处),因此您需要在处理此请求的地方替换它。

于 2017-01-19T11:26:13.613 回答
0

如果你有它的路线,那么你可以做这样的事情,

return \Redirect::route('search-user/example@email.com');
于 2017-01-19T11:32:45.863 回答
0

我建议为此使用 $_GET ,因此不要使用您拥有的网址,而是这样做:

domain.com/search-user/?email=email@domain.net

并更改您的代码,以便您处理$_GET['email']. 这应该有助于解决重定向问题。

于 2017-01-19T12:50:45.420 回答