Javascript CakePHP-在ajax调用中处理URL
在webroot中的javascript文件中进行的ajax调用中,处理url的更好方法是什么?正因为如此,PHP不会解释这些调用 我使用的是CakePHP和require.js,因此不会将javascript代码直接放在视图中。我找到的唯一方法是在布局中声明一个变量,该变量接收webroot的值,如下所示: var webroot= 然后在我的js文件中,我将URL硬编码到ajax调用,如下所示: $.getJSONwebroot+'users/list',函数{…}Javascript CakePHP-在ajax调用中处理URL,javascript,php,jquery,ajax,cakephp,Javascript,Php,Jquery,Ajax,Cakephp,在webroot中的javascript文件中进行的ajax调用中,处理url的更好方法是什么?正因为如此,PHP不会解释这些调用 我使用的是CakePHP和require.js,因此不会将javascript代码直接放在视图中。我找到的唯一方法是在布局中声明一个变量,该变量接收webroot的值,如下所示: var webroot= 然后在我的js文件中,我将URL硬编码到ajax调用,如下所示: $.getJSONwebroot+'users/list',函数{…} 但是,如果路由文件中有更
但是,如果路由文件中有更改,则无法解决问题。我通常会在完成项目后将路由更改为更友好的路由,如果js文件中引用了许多ajax调用或URL,这将导致一个大问题。我通常这样工作: 在我的布局标题中,我在包含任何其他javascript之前添加了以下内容:
<script type="text/javascript">var baseUrl = '<?php echo $this->base; ?>';</script>
我通常是这样工作的: 在我的布局标题中,我在包含任何其他javascript之前添加了以下内容:
<script type="text/javascript">var baseUrl = '<?php echo $this->base; ?>';</script>
如果你想用JSON格式显示你的应用程序数据,我认为你是在违背CakePHP的惯例。看一看。如果你想以JSON格式显示应用程序的数据,我认为你是在违反CakePHP的惯例。请查看。使用
echo Router::url(array('controller' => 'Users', 'action' => 'list'));
将输出
/Users/list
在js中
使用
将输出
/Users/list
在js中