1

webroot に存在する javascript ファイルで行われた ajax 呼び出しの URL を処理するより良い方法は何ですか?そのため、PHP によって解釈されませんか?

私はCakePHPとrequire.jsを使用しているため、javascriptコードをビューに直接配置しません。私が見つけた唯一の方法は、次のように webroot の値を受け取るレイアウトで変数を宣言することでした。

<script>var webroot = "<?php echo this->Html->url('/') ?>" </script>

そして、私のjsファイルで、次のようにajax呼び出しへのURLをハードコードしました:

$.getJSON(webroot + 'users/list', function(){ ... } );

ただし、Routes ファイルに変更がある場合、問題は解決しません。私は通常、プロジェクトを終了した後にルートをより使いやすいものに変更しますが、js ファイルで多数の ajax 呼び出しまたは URL が参照されている場合、これは大きな問題を引き起こします。

4

3 に答える 3

1

使用する

echo Router::url(array('controller' => 'Users', 'action' => 'list'));

出力します。

/Users/list

jsで

$.post({url : "<?php echo Router::url(array('controller' => 'Users', 'action' => 'list')); ?>"})
于 2016-07-23T08:30:36.553 に答える