Javascript调用相对路径,而不是从web根

Javascript calls relative paths and not from web root

本文关键字:web 调用 相对 路径 Javascript      更新时间:2023-09-26

当我从示例Ajax或其他函数调用javascript中的文件时,javascript试图相对于当前地址调用它,而不是从baseURL或根。

示例如果我在domain.com/my-page/上,我尝试使用

调用php文件
$.post('ajax/class.designer.php', { action: 'getcard', cardID: id },
        function(data) {
            loadCard(data)
        }, "json");

当我想让它调用domain.com/ajax/class.designer.php时,它会尝试调用domain.com/my-page/ajax/class.designer.php。

相同的插件,如CKEditor试图调用它的。css文件相对于当前地址。

应用程序正在使用mod_rewrite和友好的url。所有内容都被重定向到位于/中的index.php,然后从index.php调用函数来显示页面。

我已经设置了RewriteBase/,我也设置了baseurl在我的HTML头根路径。

注意:当我在本地主机上运行它时,一切都工作正常。

在ajax ie /ajax前面加斜杠。当你去掉斜杠时,你将得到相对路径,即相对于你所在位置的路径。要获得绝对路径,始终以/开头。

上述答案的另一种选择是,您可以在头部添加一个基本标记。这将告诉浏览器从哪里开始所有的相对路径。对于你的问题,你可以加上:

<base href="http://domain.com">

这将导致你添加的任何相对URL从根目录开始