我一直在看这篇文章:https://css-tricks.com/ajax-load-container-contents/
建议使用jQuery.load(' url#container')在另一个页面中的特定div中加载ajax。但评论充满了#34;是的,但这对于带宽来说是非常糟糕的,加载整个页面并解析出一个部分"。但是没有人能提供替代解决方案。
任何人都可以提供全面的替代方案吗?
答案 0 :(得分:0)
取决于你在说什么级别。当没有更好的选择时,jQuery.load
对标签控件等非常有用。现在,人们使用了很多技术来实现这一目标。
jQuery.load
的最常见用例是针对整个页面(例如"假冒" MV *类型功能)或页面的部分(例如,您使用新内容更新的新闻源) )
整页
对于加载的整个页面(例如标签控件),您倾向于看到使用的路由库,例如angular routing或者更轻量级的示例Crossroads.js。
这些工作的方式是修改location hash,它不强制页面刷新,然后从指定的模板(.html)文件加载内容。
这更好的原因是页面的jQuery.load
导致不断扩展的DOM,而路由" clean"通过从DOM中删除不再是"可见"在那个页面上。
网页内的模板
jQuery.load
的第二个最常见的用例是将内容加载到页面的某个部分。今天在这里看到的最常见的事情是使用模板库,例如Handlebars。
这些工作的方式是在脚本标记中定义标记。然后,您可以从Web服务器或其他任何内容加载内容(通常是JSON),然后将模板应用于该JSON,并将生成的标记附加到容器中。
这对于整个页面来说比jQuery.load
更有效的原因是因为您仅加载所需的原始数据并将其应用于已知模板而不是从页面加载整个结果。