在ajaxlink yii中生成正确的URL

时间:2014-02-09 13:30:33

标签: php ajax url yii

我在解决Yii中ajalink中的url地址时遇到问题

正常链接正常

<?php echo CHtml::link("Comments ({$data->commentCount})",$data->url.'#comments'); ?> |

输出

/blog/index.php/post/2/A+Test+Post

但是当我在我的ajaxlink中使用$ data-&gt; url时,'+'符号被空格替换

然后我用

echo CHtml::ajaxLink(
            'Test request',          
            array(str_replace("+", "", $data->url).'#comments'),
...

但是我收到了错误

无法解析请求“ blog / index.php / post / 2 / ATestPost ”。

如果我通过前缀

手动输入网址
http://localhost/

它有效

http://localhost/blog/index.php/post/2/ATestPost  

作品。

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

如果您想要完整的网址,则可以使用

Yii::app()->request->hostInfo . $data->url

答案 1 :(得分:0)

我通过转换地址解决了我的问题。

<?php $url_extract =substr($data->url, strpos($data->url, Yii::app()->controller->id)); ?>
<?php $url_replace = str_replace("+", "", $url_extract); ?>

然后在ajaxLink中,我使用^ $ url_replace

echo CHtml::ajaxLink(
            'Test request',             
            array($url_replace),

...

我还不知道它是否是最佳解决方案。

感谢您的帮助