简体   繁体   English

Yii registerScript:将php参数添加到javascript

[英]Yii registerScript : Adding php parameters to javascript

Hi I'm trying to use an external js, the and I'm using Yii clienScript : 嗨,我正在尝试使用外部js,并且我正在使用Yii clienScript

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

The problem is, in my external js file, I need to pass a url , for my ajax call. 问题是,在我的外部js文件中, 我需要为ajax调用传递url and the url is in php, because I'm using the createAbsoluteUrl() below : 网址位于php中,因为我正在使用以下的createAbsoluteUrl()

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

How do I pass the $url as a javascript variable to be used by some.js ? 如何将$ url作为some.js使用的javascript变量 传递 Thanks! 谢谢!

You could create a JS object at the end of your PHP code. 您可以在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>

Then the javascript file some.js should be able to use this as: 然后,javascript文件some.js应该可以将其用作:

var url = WRAPPER.url;

I have done this on CodeIgniter - I'm assuming Yii works similar. 我已经在CodeIgniter上完成了此操作-我假设Yii的工作方式相似。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM