2014-02-09 30 views
0

正确的网址我解决ajalink URL地址在Yii中产生ajaxlink警予

正常的链路问题工作正常

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

它输出

/博客/指数。 php/post/2/A + Test + Post

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

然后我用

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

,但我得到了错误

无法解析请求 “博客/ index.php文件/后/ 2/ATestPost”。

如果我手动与

http://localhost/ 

前缀键入URL,它的工作原理

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

作品。

预先感谢您的帮助

回答

0

如果你想完整的URL,那么你可以使用

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

谢谢@kumar_v。我得到了完整的网址,但仍然是错误消息。我不明白为什么?该错误是可以解决请求“http://localhost/blog/index.php/post/2/ATestPost”。但如果我输入http://localhost/blog/index.php/post/2/ATestPost它的作品。它与urlmanager没有关系吗? – klark

+0

是的。请检查urlmanager。 –

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), 

...

我不还知道这是否是最好的解决办法。

谢谢你的帮助