使用yii中的php代码的Javascript函数


Javascript function with php code in yii

我有多个带有ajax调用的javascript函数。一开始我把它们放在视图文件中,就像这个

<?php
 Yii::app()->clientScript->registerScript(
    "test",
    "function test() {
        jQuery.ajax({
          type: 'POST',
          data: 'id=120',
          url: '".CController::createUrl('person/getname')."',
            success: function(name){
               alert( name);
        }
          });
      };
  ",
CClientScript::POS_READY
);
...
?>

它可以工作,但我有很多这样的函数,所以我想把它们放在视图之外的其他文件中。我可以把它放在javascript文件中,

Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/user.js');

但是我不能使用CController::createUrl('person/getname')来获取url。

最好的方法是什么?

不能在脚本文件中使用CController::createUrl('person/getname'),因为它是php。如果您想在脚本文件中使用url,您必须通过分配给变量来传递它。使用registerScript()方法声明php 中的变量