在javascript / php中使相对链接绝对


Make relative link absolute in javascript / php

我的一些页面中有一个与表单相关的错误。

在根目录的任何页面上,表单都有效:

site.com/page.php

在这些页面上,它不会:

site.com/subdomain/page.php
site.com/subdomain/subsubdomain/page.php

我想我已经将问题追溯到一些使用相对链接的脚本标签。

代码如下:

<script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>
<script type="text/javascript">
$().ready(function() {
    $("#where").autocomplete("autofill_source.php", {
        width: 260,
        matchContains: true,
        selectFirst: false
    });
});
</script>

引用了 3 个文件:2 个在代码的 src="*.js" 部分,一个 (autofill_source.php( 在代码的函数部分。

我的问题是,我如何使所有这 3 个链接都是绝对的,请记住它可以从根文件夹引用,或者向下引用 2、3 个或更多子目录。

我已经看到它用${pageContext.request.contextPath}或其他方式处理,但我只是想问一下,看看最好的解决方案是什么。

提前谢谢。

尝试将autofill_source.php替换为/autofill_source.php。路径开头的斜杠表示您的 Web 服务器的根文件夹。或者,您可以在 JavaScript 中获取带有window.location.origin的基本 URL。