javascript - 使用 jQuery 从绝对路径的外部文件加载 HTML

标签 javascript jquery html

我正在尝试将外部 HTML 文件的内容加载到我当前的 HTML 模板中。

我遇到的问题是我想要加载的内容不是本地的,也不是位于 URL 上。该文件位于中央存储目录中,我可以在连接到 VPN 时访问该目录。换句话说,如果我的所有本地文件都在 /Users/username/... 中,那么该文件位于 /central_directory/absolute/path/to/file.html >.

我可以从终端或 file:///central_directory/absolute/path/to/file 访问位于 /central_directory/absolute/path/to/file.html 的文件.html 从我的浏览器中。

但是,当我尝试使用 jQuery .load() 函数加载文件时,我收到 404 未找到错误:

Not Found: /central_directory/absolute/path/to/file.html

[15/Jul/2018 19:04:22] "GET /central_directory/absolute/path/to/file.html HTTP/1.1" 404 2257

我的猜测是它没有在正确的位置查找文件(例如,它正在查找 http://mywebsite/central_directory/absolute/path/to/file.html),但我不知道这是否是一个准确的猜测,也不知道如何测试。

<小时/>

代码:

这是 jQuery 脚本,位于我当前模板的 head 中:

<script>
    $(function(){
        var filename = "file:///central_directory/absolute/path/to/file.html"
        $("#includedContent").load(filename);
    });
</script>

以及模板中的 HTML:

<div id="includedContent"></div>

很简单,对吧?

我也尝试过其他语法,也出现了相同的 404 错误。

最佳答案

问题是 .load() 需要 HTTP 连接(因此 GETPOST 请求) 对于 JavaScript。

这是幸运的结果,因为您无法像导航到浏览器或终端中的 file:// 路径一样加载 javascript 资源(“幸运”是因为它阻止任何人访问您计算机上的任何文件)。

解决这个问题的唯一真正方法是通过网络服务器将本地文件代理到您的浏览器(因此您需要控制服务器实现)。如果您有现有的 Web 服务器堆栈(例如 PHPNode.jsRuby 等),您很可能可以这样做,但这最终取决于它是什么。

关于javascript - 使用 jQuery 从绝对路径的外部文件加载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51353302/

相关文章:

javascript - Chai 期望 [Function] 抛出一个(错误)未通过测试(使用 Node)

悬停时的 JavaScript 执行元素特有的操作

javascript - 通过 jQuery 选择符合某些条件的复选框

javascript - jquery 选择器不工作 - 选择器中的字符串连接

有意义的 Javascript 模糊搜索

使用多个关键字的 Jquery Grep 和 Map Json

javascript - 如何在第一个打开的新浏览器选项卡中打开链接

Javascript 不返回样式属性

html - 调整网站页脚

javascript - cforms js datepicker插入年份两次