我在routes / web.php中有以下路径
Route::get('search/{model}/{lang}/{id}', ['as'=>'tag','uses'=>'SearchController@tag']);
在视图中,我有一个带有标签的foreach:
<li>
<a href="{{ route('tag', ['model'=>'new', 'lang'=>$lang, $tag->id]) }}">
{{$tag_lang->name}}
</a>
</li>
我想要的是,在浏览器中只显示没有参数型号,lang和id的“搜索”网址( domain.com/search 而不是 domain.com/search / model / lang / id ),但我不想使用表单。有没有办法在没有表格的情况下使用邮政路线或隐藏网址?感谢。
答案 0 :(得分:1)
我建议使用POST路由,因为参数不会作为查询字符串显示。示例路线如下:
Route::post('search', ['as'=>'tag','uses'=>'SearchController@tag']);
然而,您需要将您的href转换为表格。
如果您确实需要使用GET,那么请查看使用散列或加密转换查询字符串,以便从用户对其进行模糊处理,然后在控制器中解码结果。
答案 1 :(得分:1)
你可以让帖子看起来像锚:
<style type="text/css">
form.link_mimic {display:inline}
form.link_mimic input {display:inline;padding:0;border-width:0;margin:0;background:none;color:blue}
form.link_mimic input:hover {text-decoration:underline}
</style>
Click <form class="link_mimic" method="post" action="my_url">
<input type="hidden" name="lang" value=" {{$tag->id}}">
<input type="submit" value="{{$tag_lang->name}}">
</form> to change the language.
试一试,也许这就是你要找的东西。