【问题标题】:jQuery not working for inclusion of html file [closed]jQuery不适用于包含html文件[关闭]
【发布时间】:2014-02-20 01:12:49
【问题描述】:
<head>

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="jquery.js"></script> 
<script>
$(function(){
$("#includedContent").load("b.html");
});
</script>

</head>


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

为什么它不起作用?看来我得打几句废话才能满足这个网站的右翼机器人。

【问题讨论】:

  • 为什么要包含两次 jQuery(如果第二个确实是 jquery 库)?
  • 为什么要包含 2 个 jQuery 库?
  • 你做了什么调试?检查了javascript控制台?检查了请求和响应的网络选项卡?
  • 控制台出现什么错误?
  • @THarryEvans 问题是您正在使用file:// 协议来加载您的网页,这可能会导致 ajax 调用出现问题。我建议通过安装 Web 服务器(如 Apache 或 IIS Express)来避免此问题。

标签: javascript jquery html include jframe


【解决方案1】:

除了多次包含 jQuery 库之外,您的代码看起来还不错;我怀疑这个问题与“Access-Control-Allow-Origin”标题有关。

您如何测试此页面?如果您在本地测试并且服务器不支持 CORS,则脚本将无法加载 b.html。要检查,在 JavaScript 控制台中,您应该会看到有关 Access-Control-Allow-Origin 标头不存在的消息。

【讨论】:

  • 如果 b.html 是实际 URL,则不会出现跨域问题,因为它会从加载页面的同一域加载。但也许这不是实际的网址。
  • @cookiemonster 如果他使用file:// 协议加载他的页面,可能就是这样。无法确定,但这是迄今为止最有可能的答案。
  • @JasonP:好点。一些浏览器对此有问题。
  • "加载资源失败:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“null”。file:///Users/harry /Desktop/HARRY%20TO%20SORT/Archive/b.html XMLHttpRequest 无法加载文件:///Users/harry/Desktop/HARRY%20TO%20SORT/Archive/b.html。没有“Access-Control-Allow-Origin”请求的资源上存在标头。因此不允许访问 Origin 'null'。template.html:1"
  • @THarryEvans:一些浏览器似乎将任何使用file:// 的访问视为跨域访问。如果您有一个本地 Web 服务器来托管该网站,这会容易得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
相关资源
最近更新 更多