我对jQuery Ajax有点想法。我的问题是:如果我使用jQuery Ajax将HTML的一部分加载到div中,如下所示:
$('#result').load('ajax/test.html #container');
用户是否必须下载整个test.html才能查看#container div的内容?换句话说,是否会下载整个test.html文件,然后解析为只选择#container div,或者只下载#container div?如果第一次发生,您是否可以想到只下载#container div而不创建新的html文件?
非常感谢您的投入! :)我真的很感激。
答案 0 :(得分:3)
请参阅:http://api.jquery.com/load/
$('#result')。load('ajax / test.html #container');
当此方法执行时,它 检索内容 ajax / test.html ,然后 jQuery解析 返回的文件找到了 ID为容器的元素。这个 元素及其内容是 插入带有ID的元素 结果,和其余的 检索到的文件被丢弃。
答案 1 :(得分:3)
当然会下载整个HTML。
如果你想避免这种情况,你必须创建某种服务器端脚本,例如PHP,它只发送所需的内容。
您可以使用类似
的方式调用它$('#result').load('ajax/test.php?ajax=1');
并在PHP中检查是否存在$_GET['ajax']
,如果存在,则仅发送#container
div。
答案 2 :(得分:1)
将下载整个页面。在jQuery
具有内容后,它会解析它以找到适当的选择。见Docs for jquery load
当此方法执行时,它 检索。的内容 ajax / test.html,但随后jQuery解析 返回的文件找到了 ID为容器的元素。这个 元素及其内容是 插入带有ID的元素 结果,其余的 检索到的文件被丢弃。