繁体   English   中英

Javascript调用相对路径,而不是从Web根目录

[英]Javascript calls relative paths and not from web root

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

例如,如果我在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 /,并且还将我的HTML头中的baseurl设置为根路径。

注意:在本地主机上运行时,一切正常。 当我将其移至实时服务器时,问题就开始了。

在ajax前面加一个斜线,即/ajax 当不使用斜线时,您将获得相对路径,即相对于您所在位置的路径。 要获得绝对路径,请始终以/开头。

上述答案的替代方法是,您可以在头部添加一个基本标签。 这将告诉浏览器从哪里开始所有相对路径。 对于您的特定问题,您将添加:

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

这将导致您添加的所有相对URL都从root开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM