[英]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.