Yii registerScript:将php参数添加到javascript

时间:2014-10-16 18:28:40

标签: javascript php yii registerclientscriptblock

您好我正在尝试使用外部js,我正在使用 Yii clienScript

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

问题是,在我的外部js文件中,我需要传递一个URL ,用于我的ajax调用。并且网址是php,,因为我使用下面的 createAbsoluteUrl()

$url = Yii::app()->createAbsoluteUrl("/module/controller/action")

如何将$ url作为javascript变量传递以供 some.js 使用?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在PHP代码的末尾创建一个JS对象。

   ...
   ...
   $url = Yii::app()->createAbsoluteUrl("/module/controller/action");
   ...
   Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/js/some.js');
   <script>
   var WRAPPER = (WRAPPER || {});
   WRAPPER.url = "<?= $url ?>";
   </script>

然后javascript文件some.js应该能够将其用作:

var url = WRAPPER.url;

我在CodeIgniter上做了这个 - 我假设Yii的工作方式类似。