进行Ajax调用时,基本URL正在更改
我有一个CakePHP3.x应用程序,其中一些API是从AJAX调用的 在AJAX上,我这样称呼url:进行Ajax调用时,基本URL正在更改,ajax,cakephp,cakephp-3.0,Ajax,Cakephp,Cakephp 3.0,我有一个CakePHP3.x应用程序,其中一些API是从AJAX调用的 在AJAX上,我这样称呼url: url: 'user/id/' + id, method: 'get', dataType: 'json' // ... 等等 我的网址是 所以ajax上的url就像 但由于某些原因,url有时会更改为 我应该换什么? 发生了什么?这是因为URL中的actionparameter 这里有一些例子,以便您更好地理解它 让我们考虑一下我们项目的每个页面的链接。 单击此处添加新用户 此链接将根
url: 'user/id/' + id,
method: 'get',
dataType: 'json'
// ...
等等
我的网址是
所以ajax上的url就像
但由于某些原因,url有时会更改为
我应该换什么?
发生了什么?这是因为URL中的actionparameter 这里有一些例子,以便您更好地理解它
让我们考虑一下我们项目的每个页面的链接。 单击此处添加新用户
此链接将根据您当前的URL创建不同的URLCurrent URL URL generate by LINK
localhost/products (here index is the method) localhost/users/add
localhost/products/add localhost/products/users/add
localhost/products/edit/1 localhost/products/edit/users/add
要解决此问题,请在开始时使用/并提供来自webroot的路径。我认为另一个答案是正确的 关于如何解决这个问题,我通常做的是将webroot保存为从CakePHP返回的javascript变量。通过在模板文件的标题中执行此操作,它将在任何地方都可用:
<!-- src/Templates/Layout/default.ctp -->
<head>
<script>
var webroot = <?= $this->request->webroot ?>
</script>
</head>
现在,无论您的应用程序放在Web服务器上的什么位置,调用都将如预期的那样进行。您应该尝试弄清楚这里有时真正意味着什么。如果它只发生在特定的页面上,或者在特定的操作之后,那么您可以查看这些区域。这真的很有帮助!谢谢您:
url: webroot + "user/id" + id //...