CakePHP 2中javascript的相对路径

时间:2012-11-07 11:31:26

标签: cakephp cakephp-2.0 cakephp-2.1

我想知道是否有任何方法可以做类似于HtmlHelper在Cake视图中的操作:不必手动编写URL,而是调用某种帮助程序来为你创建。

我看过this post,但是从2010年开始,现在可能还有新的东西......

目前我的javascript文件中有这样的代码:

window.location.href = 'http://' + document.domain +'/cakephp/posts/view/'+$(this).attr('data-id');

但是,如果我更改了cakephp文件夹名称,或者我在服务器上使用了其他配置或类似的东西,则URL会发生变化,我应该手动更改所有使用此类URL的代码。

我想知道是否有类似的东西:

echo $this->Html->link('controller' => 'users' , 'action' => 'login');

1 个答案:

答案 0 :(得分:0)

您指的是内联JavaScript还是外部JavaScript?使用url方法可以很简单地使用内联,该方法接受与link相同的参数(包含URL的数组或字符串)。

在外部文件中使用它有点棘手。我在加载JS文件之前定义了一个包含站点路径的JS变量。

<script type="text/javascript">
//<![CDATA[
var SITE_URL = "http://www.example.com/cakeapp/";
//]]>
</script>

在我的外部JavaScript文件中,我可以在需要时引用SITE_URL。当您更改域或重命名cakeapp目录时,您只需要更改SITE_URL变量。