【问题标题】:$("header").load('header.html') not loading$("header").load('header.html') 未加载
【发布时间】:2015-10-10 06:43:42
【问题描述】:

我试图寻找这个简单问题的答案。我尝试使用发布的答案,但仍然出现一些错误,并且我的标题没有显示。

我有这个代码 sn-p :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#header').load('partial/header.html'); 
    });
</script>

我的 html 正文有这个 div:

<div id='header'></div>

我收到错误消息,它无法加载文件“partial/header.html”并显示消息“跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension -资源。”

欢迎任何帮助

【问题讨论】:

  • 您是使用 http 服务器为您的页面提供服务,还是直接从文件系统打开静态页面?
  • 尝试使用 load 的绝对 URL,例如。 http://localhost/name/...
  • 如果您在 head 标签中使用 base 属性,请确保它附加了 propper 值。有无 WWW 域都有很大的不同。
  • 你试图直接打开页面,而不是把它放在一些网络服务器上并加载它。
  • 尝试在前面加上一个斜杠,如/partial/header.html,这将表明您是从根目录获取,因此不会出现“跨域”错误

标签: javascript jquery html


【解决方案1】:

我遇到了同样的问题,花了好几个小时才找到解决方案。我在那里找到了答案Use JavaScript to Load Header and Footer Templates

此 JavaScript 在服务器环境中工作,因此 不会 能够加载页眉和页脚,如果您正在打开您的中的文件 桌面,这意味着您需要通过 FTP 上传文件并访问 你的 HTML 是实时的。

所以我按照Local Web Server 的描述安装了 nodeJS 和 http-server 包,并从 index.html http-server 的目录启动了服务器。

现在我可以在http://localhost:8081/index.html 中看到我的标题(8081 显示在控制台中。显然我的端口 8080 很忙)

这也应该以/ 开头:

$('#header').load('/partial/header.html'); 

我希望它能为其他 js 初学者节省时间。

【讨论】:

    【解决方案2】:

    你确定吗?我新建了一个“header.html”的页面,然后复制你的代码,我可以得到该页面并将它添加到“header”的div中。

    【讨论】:

    • 完全没有建设性
    • @Dorvalla 他不能发布具有 9 声望的 cmets,而且他对这个网站很陌生
    猜你喜欢
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2019-04-07
    相关资源
    最近更新 更多