0

私は Yii でアプリケーションを開発しています。私が直面している問題の 1 つは、ajax 関数を作成しているときに、URL が php になることです。そのため、コードを別の JavaScript ファイルに移動できません。

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

                        }                   

             });

javascriptコードを別のjsファイルに移動できるように、phpをjavascriptから移動する最良の方法は何ですか。URLを非表示のボックスに入れてから、JavaScript関数で呼び出すことを考えました。しかし、これを行うためのより良い方法があることを願っています。

助けてください

4

1 に答える 1

4

head次のように、URL を必要とするすべての js ファイルがアクセスできるように、グローバル変数を作成して html に URL を格納できます。

<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ファイルで変数someUrlを使用できますbaseUrl

于 2013-09-15T05:01:09.477 に答える