目前,当我使用jQuery Ajax加载一些内容时。这会加载整个页面并仅返回我的内容。问题是我不想加载整个页面。我只是想加载这个页面的内容而不加载整个页面。
$('#single').load(href+' #single-content', function() {
});
此函数加载整个href
页面并返回#single-content
。
有可能吗?
答案 0 :(得分:3)
不可能只加载页面的一小部分然后返回那个小部分。这是因为如果请求无法完全加载页面并且根本位于页面中,则请求无法知道“#single-content
”在页面中的位置。
如果您出于性能原因只想加载“#single-content
”,建议您创建一个新页面,其中加载的内容仅包含“#single-content
“
答案 1 :(得分:1)
您在Web服务器上选择的语言是什么?你的工作必须达到那个水平。因此,如果您使用PHP,则必须修改页面逻辑,以便可以返回内容的谨慎部分而不是整个页面。
执行此操作的理想方法是在服务器端创建模板。您将拥有一个包含整个HTML页面的主模板,然后在其中包含相关内容。然后,您的网站中的每个页面都会显示较小的视图文件。这将允许您使用服务器端语言的逻辑,可以选择使用包含页面内容的模板返回整个页面,或只返回没有外部主模板的页面内容。
答案 2 :(得分:0)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>load demo</title>
<style>
body {
font-size: 12px;
font-family: Arial;
}
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<b>Projects:</b>
<ol id="new-projects"></ol>
<script>
$( "#new-projects" ).load( "/resources/load.html #projects li" );
</script>
</body>
</html>
此代码可以执行您想要的操作,它来自官方jQuery文档http://api.jquery.com/load/(第一个示例),您可以加载并获取另一个页面的一部分(在同一个域中),例如此处http://api.jquery.com/resources/load.html