Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CakePHP-在ajax调用中处理URL_Javascript_Php_Jquery_Ajax_Cakephp - Fatal编程技术网

Javascript CakePHP-在ajax调用中处理URL

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',函数{…} 但是,如果路由文件中有更

在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中