gpt4 book ai didi

javascript - 在本地文件上使用 jQuery 的 "load"方法

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:34 24 4
gpt4 key购买 nike

我正在尝试创建一个网站,其中多个页面中的每个页面都有相同的标题栏 - 这是一个非常标准的问题。为了加载标题栏的 HTML,我使用 jQuery 的“load”方法:

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

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

尝试的解决方案:我尝试使用 Node.js 运行本地服务器,使用我找到的代码 here ,欺骗 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")

...返回错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我的网络经验有限,我不知道如何继续。有谁知道加载这样的文件的方法? (完全不同的解决方案是受欢迎的;Node 和 jQuery 似乎是很有前途的方法)

<小时/>

已解决

根据下面 Hanlet 的评论,我从 http://localhost:8080 访问该网站,而不是像我一直在做的那样 file://path/to/website 。然后我从上面运行 load(http://localhost...) 命令。工作没有任何问题。

最佳答案

Jquery ajax 仅限于同域策略、本地文件或 localhost 文件,只要与你的脚本的托管域不是同一个域,它就不起作用。

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

关于javascript - 在本地文件上使用 jQuery 的 "load"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com