有没有办法使用CakePHP将服务器端代码设置为客户端脚本

时间:2013-03-01 18:28:40

标签: cakephp cakephp-2.3

我的CakePHP项目中有几个js文件需要ajax调用的路径。我在服务器上生成路径,并希望以通用方式将它们传递给javascript。我不想将它们作为参数添加到函数中,因为它们是静态的。现在我这样做:

<?php
    $categories = Router::url(array('controller' => 'categories', 'action' => 'getChildCategories'));
    $brands = Router::url(array('controller' => 'brands', 'action' => 'autoComplete'));

    // first add the variables
    echo $this->Html->scriptBlock(
       'var CATEGORIE_GETSUBCATEGORY = "' . $categories . '";
       var BRAND_AUTOCOMPLETE = "' . $brands . '";',
       array('inline' => false)
    );

    // then include the file that uses them
    echo $this->Html->script('add'); 
?>

有没有更好的方法来做到这一点而不将它们作为参数传递?

1 个答案:

答案 0 :(得分:0)

你目前的做法完全没有错。任何性能提升都可以忽略不计,我认为没有一种明确更优雅的方式。