使用jQuery's "load"方法在本地文件上执行

Using jQuery's "load" method on a local file

本文关键字:quot 文件 执行 load jQuery 使用 方法      更新时间:2023-09-26

我试图创建一个网站,其中每几个页面有相同的标题栏-一个相当标准的问题。为了加载标题栏的HTML,我使用jQuery的"load"方法:

$("#title-bar").load("path/to/titlebar-code.html")

然而,很明显,"load"真的真的不喜欢从本地文件系统加载文件。我无法访问远程服务器,所以这是个问题。(我依靠我的大学来托管这个网站,他们还没有设置好服务器。)因此,在我解决这个问题之前,我无法查看或测试该网站。

尝试解决方案:我尝试用Node.js运行本地服务器,使用我在这里找到的代码,欺骗jQuery发出请求。以下是服务器代码:

var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);

和新的jQuery请求:

$("#title-bar").load("http://localhost:8080/path/to/titlebar-code.html")

…它返回错误:

请求的文件中没有'Access-Control-Allow-Origin'标头资源。因此,不允许访问原点'null'。

我有有限的网络经验,我不知道如何进行。有人知道这样加载文件的方法吗?(完全不同的解决方案是受欢迎的;Node和jQuery看起来很有前途)


根据Hanlet下面的评论,我从http://localhost:8080而不是file://path/to/website访问了网站。然后我从上面运行load(http://localhost...)命令。

Jquery ajax仅限于相同的域策略,本地文件或本地主机文件,只要它与脚本的托管域不相同,它将无法工作。

您需要在正在从中加载文件的远程服务器上启用CORS(跨域资源共享)。

相关文章: