【问题标题】:Relative paths for javascript on CakePHP2CakePHP 2 中 javascript 的相对路径
【发布时间】:2012-11-07 11:31:26
【问题描述】:

我想知道是否有任何方法可以做类似于 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');

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-2.1


    【解决方案1】:

    您指的是内联 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 变量。

    【讨论】:

    • 我在谈论外部 js 文件。您的解决方案与我发布的链接中给出的解决方案非常相似,我想知道在 JS 文件中是否有更好的解决方案。
    • 嗯,你是对的,我的解决方案与你提到的帖子中的解决方案相同。我不知道还有什么其他方法,但以上方法仍在最新版本的 Wordpress 中用于设置 AJAX 调用等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2017-04-19
    • 2016-07-17
    • 2012-11-23
    相关资源
    最近更新 更多