【问题标题】:which is the best method to move php code out of js in ajax这是在ajax中将php代码从js中移出的最佳方法
【发布时间】:2013-09-15 04:56:04
【问题描述】:

我正在 Yii 中开发应用程序。我面临的一个问题是,当我编写 ajax 函数时,url 将在 php.ini 中。所以我无法将代码移动到另一个 javascript 文件。

$.ajax({
             url: "<?php echo Yii::app()->createUrl('provider/ajaxdetail');?>",
             data: {'type':tagtype},
             beforeSend: function() { },
             success: function(data) {

                        }                   

             });

那么将 php 从 javascript 中移出的最佳方法是什么,以便我可以将 javascript 代码移动到另一个 js 文件中。我想把网址放在一个隐藏的盒子里,然后在javascript函数中调用它。但我希望会有更好的方法来做到这一点。

请帮忙

【问题讨论】:

    标签: php jquery yii


    【解决方案1】:

    你可以创建一个全局变量来存储url,在你的html中head,这样任何需要url的js文件都可以访问它,比如:

    <html>
    ...
    <head>
    ..
    var MY_APP_URL = '<?php echo Yii::app()->baseUrl; ?>'; //can be like www.somesite.com/
    ....
    //load js files
    ...
    

    在 js 文件中你可以这样做:

    $.ajax({
      url: MY_APP_URL + "controller_name/function_name",
       data: {'type':tagtype},
    

    或者你可以这样做:

    Yii::app()->clientScript->registerScript('helpers', '
            someUrl = '.CJSON::encode(Yii::app()->createUrl('blabla')).';
            baseUrl = '.CJSON::encode(Yii::app()->baseUrl).';
    ');?>
    

    您可以在 Javascript 文件中使用变量 someUrlbaseUrl

    【讨论】:

      猜你喜欢
      • 2010-11-21
      • 2022-01-20
      • 2018-04-29
      • 2010-09-07
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2011-02-22
      • 2010-11-26
      相关资源
      最近更新 更多