我有一些定义像“action ='[module]/[action]'”&提交的动作。 结果是 '[CURRENTURL]/[模块]/[动作]' 而不是 '[模块]/[动作]',我想不通为什么,这里的代码:Symfony 1.4错误的URL路由
在前面:
<a href="<?php echo (isset($disabledMajSuivi) && $disabledMajSuivi ? "#" : "javascript:showYesNoDialog('". addslashes(__('enquete.visu.msg.confirmation.majsuivi')). "', 'majSuivi')"); ?>" >
<?php echo __('enquete.visu.majsuivi');?>
</a>
showYesNoDialog是一个JavaScript函数,其中第一个参数是句子显示和第二arg是回调函数,所以“majSuivi”叫回来,看起来像这样:
<script>
function majSuivi(response) {
if(response == 'yes') {
document.forms[0].action = "module_name/majsuivi";
document.forms[0].submit();
}
}
这已进行调试时,条件是true
。
行动“majSuivi”(即大)结束这样的:
$this->redirect('enquete/visu?enq_id='.$enq_id
. (!is_null($personneMorale) ? '&pm_id='.$personneMorale->getPmId() : ''));
但由于错误的URL的执行任何动作(所以actualy这部分代码是一种无用的)。
所以当URL应该是:http://[baseUrl]/index.php/module_name/majsuivi
相反,它是:http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/majsuivi
凡/index.php/enquete/visu/enq_id/24/menu_id/
是当前的URL只是打电话“majSuivi行动之前。 每次我点击 “A HREF” 按钮,添加 “MODULE_NAME” 的网址类似以下内容:
点击 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/majsuivi
CLICK2 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/module_name/majsuivi
CLICK3 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/module_name/module_name/majsuivi
etc ...
我不认为它来自routing.yml配置文件,但如果有人认为它可以,我会写它的内容。
感谢您的帮助
非常感谢,这是非常有用的信息,espacially第三个选项,我认为。 – Robert