首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX加载文件一部分的最快方法?

通过AJAX加载文件一部分的最快方法?
EN

Stack Overflow用户
提问于 2013-11-04 07:52:50
回答 1查看 140关注 0票数 0

我在文本文件里有很多书。

我已经在网站上列出了这本书的索引。

其理论是:从包含整本书的文本文件中从索引中加载图书的部分。

本书的索引(例如,我们有3个索引):

代码语言:javascript
复制
<ul>
   <li><a onClick="return LoadThis('a1')">INDEX-1</a><div id="loader1" ></div></li>
   <li><a onClick="return LoadThis('a2')">INDEX-2</a><div id="loader2" ></div></li>
   <li><a onClick="return LoadThis('a3')">INDEX-3</a><div id="loader3" ></div></li>
</ul>

JavaScript代码:

代码语言:javascript
复制
var loadUrl = "http://www.website.com/books/the-book.php";

function LoadThis(link_anchor)
{
var loader="#loader"+link_anchor.substring(1);
$(loader).html(ajax_load).load(loadUrl+" #"+link_anchor);

$(loader).addClass('ajax-active');
}

The-Book.PHP文件

代码语言:javascript
复制
<div id="a1"><p>Index-1 texts...</p></div>
<div id="a2"><p>Index-2 texts ....</p></div>
<div id="a3"><p>Index-3 texts ....</p></div>

问题:负载通常并不坏!而且他们的装船运转良好。但是..。

如果索引的数量和-Book.php的文件大小都增加了,那么加载速度就会比小书慢。

问题:是我使用AJAX加载函数的编程方法吗?

是否有更好、更标准和更快的方法来做到这一点?

请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 08:07:38

从任何方面来说,使用.load()本身并不是一种糟糕的实践,但在您的情况下,这并不是理想的做法。

当您使用.load()获取页面并指定选择器以确定要插入的部分时,您可能会认为它只会下载文件的这一部分。因为jQuery无法知道选择器在文件中的位置(或者它在几个地方),所以它必须下载整个文件,即使您只想要它的第一个(或最后一个)部分。

因此,如果您有一本很大的书(比如几百千字节),并且您的书没有缓存,那么您需要多次下载大量数据来填充页面上的所有部分。

如果您真的想做部分加载,那么您需要在您的硬盘上创建单独的文件,并且每次为每个部分加载正确的文件,或者您可以让php文件筛选结果,并且只返回所请求的部分。

如果您想使用php进行过滤,那么您可以查看如何在PHP中解析和处理HTML/XML?以获得更多关于解析html/xml的信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19763604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档