繁体   English   中英

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

[英]Use jQuery to load HTML from external file at absolute path

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

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

我可以从终端在/central_directory/absolute/path/to/file.html或从浏览器中访问file:///central_directory/absolute/path/to/file.html

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

找不到:/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() 需要 javascript的HTTP连接(因此是GETPOST请求)。

这是由于您无法以与浏览器或终端中的file://路径相同的方式加载javascript资源的事实(这是“幸运的”,因为它阻止任何人访问您计算机上的任何文件),这是一个幸运的结果。 。

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

暂无
暂无

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

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