我在本地wamp上安装了Cakephp:
c:\wwww\appname
我在视图中有一个倒计时脚本:
<script type="text/javascript">
$(document).ready(function()
{
var austDay = new Date();
austDay = new Date(<?= $nextclaimtime * 1000;?>);
$("#countdown").countdown({until: austDay, format: 'HMS', expiryUrl: "/users/add"});
});
</script>
如果我在expiryUrl中指定/ users / add,一切都在实时环境中有效,但在我的本地环境中,它不起作用,因为应用程序安装在appname下。
更改代码的正确方法是什么,以便Ajax调用在两种环境中都有效?
答案 0 :(得分:1)
正确的方法是使用路由器生成URL,这将创建一个相对于基本路径/ URL的URL。
<?php $url = \Cake\Routing\Router::url(['controller' => 'Users', 'action' => 'add']); ?>
var expiryUrl = <?= json_encode($url) ?>;
$("#countdown").countdown({until: austDay, format: 'HMS', expiryUrl: expiryUrl});
另见