Forms symfony:如何摆脱难看的get参数
我正在使用表单过滤来过滤前端中的数据 问题是URL很难看Forms symfony:如何摆脱难看的get参数,forms,url,symfony1,filtering,Forms,Url,Symfony1,Filtering,我正在使用表单过滤来过滤前端中的数据 问题是URL很难看 http://............./players/game/?st_player_cv_filters[location_id]=1&st_player_cv_filters[plateforme_id]=3&st_player_cv_filters[level_id]=3&st_player_cv_filters[_csrf_token]=023c5c9fb5fc7e7b6ed60d6839c36f67
http://............./players/game/?st_player_cv_filters[location_id]=1&st_player_cv_filters[plateforme_id]=3&st_player_cv_filters[level_id]=3&st_player_cv_filters[_csrf_token]=023c5c9fb5fc7e7b6ed60d6839c36f67
(以下列方式呈现的表格:
<?php echo $form->renderFormTag(url_for("game_player", $game), array('method' => 'get')); ?>
<table><tr><th><label for="location_id"><?php echo __('Country'); ?></label></th><td><?php echo $form['location_id']; ?></td></tr>
如何以更好的方式呈现此url?
谢谢如果您有选择,您可以使用POST而不是GET。这将大大清理url。如果框架/API本身支持您的需要,那么使用框架/API本身是一个好主意。根据您的问题,您可能可以使用帮助解决方案 例如,这包括: 如何将路由规则配置为 更改URL的外观 此外,它还谈到了您提到的长查询字符串: 例如,一个传统的URL 包含脚本的文件路径,以及 需要完成的一些参数 请求,如本例所示: 并谈到相关的问题: URL的不可理解性使得 无论他们出现在哪里,他们都会感到不安, 它们稀释了气候变化的影响 周围内容 本章介绍如何使用配置和编程
您应该能够通过更易于阅读/不太复杂/更安全的URL来维护书签功能。有时遇到此问题时,我会使用symfony的重定向方法从表单的接收页面重定向到表单本身
$this->redirect('.../formAction?'.http_build_query($get_vars));
或
使用url_for()方法,例如:
<form action="<?php echo url_for('.../formAction?'.http_build_query($get_vars)); ?>">
...
</form>
是的,但是使用POST,用户无法将筛选结果添加到书签中。而使用POST,我无法在页面中保留参数(doctrine pager)