2011-03-28 104 views
4

我对jQuery Ajax有一些思考问题。我的问题是这样的:如果我只是加载一个HTML的部分插入使用jQuery Ajax的一个div,像这样:jQuery Ajax加载div问题

$('#result').load('ajax/test.html #container'); 

将用户必须下载整个的test.html为了看什么的#container div有?换句话说,整个test.html文件是否会被下载,然后解析为仅选择#container div,还是只下载#container div?如果第一个发生,你能想出任何方式只下载#container股利没有创建一个新的HTML文件?

非常感谢您的意见! :) 对此,我真的非常感激。

回答

3

当然整个HTML都会被下载。

如果你想避免这种情况,你必须创建一些服务器端脚本,例如PHP,它只会发送所需的内容。

你可以用一些这样称呼它

$('#result').load('ajax/test.php?ajax=1'); 

,并在PHP检查的$_GET['ajax']的存在,如果存在的话,只发送了#container股利。

1

整个页面将被下载。在jQuery有解析它的内容以找到合适的选择。见Docs for jquery load

当此方法执行时,它 检索的 AJAX /的test.html的内容,但随后的jQuery解析 返回的文档找到与容器的ID的 元件。这个 元素及其内容是 插入元素的ID为 的结果,并且 的其余部分将被丢弃。

3

见:http://api.jquery.com/load/

$( '#结果')负载( 'AJAX /的test.html #container的');

当此方法执行时,它 检索的 AJAX /的test.html的内容,但随后jQuery的解析 返回的文档找到与容器的ID的 元件。此 元素及其内容是 插入到元素中,结果为 ,,其余 检索到的文档被废弃