jQuery加载另一个页面的内容

Posted

技术标签:

【中文标题】jQuery加载另一个页面的内容【英文标题】:Jquery load content of another page 【发布时间】:2017-03-14 08:38:52 【问题描述】:

我试图从另一个页面加载内容,但是当我点击“获取内容”按钮时显示错误,这里是脚本>>

$(function()
$('#get_contect').click(function()
$('#contect').load('page.html #pageContect');
);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<header>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</header>
<button type="button" id="get_contect">get contect</button>
<body>
<div id = "contect">
</div>
</body>

<footer>
</footer>
</html>

显示的错误是:

jquery-1.10.2.js:8706 XMLHttpRequest 无法加载 file:///C:/Users/khaled%20salem/Desktop/New%20folder/page.html。叉 源请求仅支持协议方案:http、data、 chrome, chrome-extension, https, chrome-extension-resource.

【问题讨论】:

您通过file:/// 协议运行您的代码 ***.com/questions/20041656/… 您是否在您请求的资源上启用了 CORS 标头“Access-Control-Allow-Origin”? 哎呀它没有启用 @KhaledALHajSalem 查看第一条评论 【参考方案1】:

为了加载页面,加载的文件需要位于同一域中,这可以通过使用以下应用之一在本地托管您的网站来完成:

MAMP: easy to configure, available for Windows and Mac OS X XAMPP: more advanced, available for Windows, OS X and Linux WAMP: in the mid of the two, but not very user-friendly and available only for Windows

您将不需要启用 CORS,因为请求的文件来自同一个域,即来自本地主机(或部署时您的托管网站)。

配置主机后,将请求的 URL 更改为以下内容:

$('#contect').load('page.html#pageContect');

这意味着该页面与您的当前页面位于同一文件夹中,并且#pageContect 元素将在加载后显示 - 两者之间不得有空格。

如果您在另一个文件夹中有页面,您可以通过在开头输入尾部斜杠来使用网站目录的绝对路径(即$('#contect').load('/path/to/file/page.html#pageContect');,或者通过提供来自文件位置的相对路径,使用@ 987654327@上目录。

【讨论】:

以上是关于jQuery加载另一个页面的内容的主要内容,如果未能解决你的问题,请参考以下文章

jQuery - 如何在另一个页面中填充 div

jQuery自动刷新 - 单击按钮时中止页面加载

JQuery可以获取从另一个页面传过来的值吗

如何使用 JQuery 重定向,加载另一个页面但在请求中发送了一些 POST 参数?

JQuery ajax操作,怎么让页面首次加载时就呈现所有数据

Jquery Mobile:“pageshow”事件仅在 Shift F5(完全重新加载)时触发,但在加载另一个页面或具有不同查询的同一页面时不会触发