我有一个关于jQuery Ajax的思考问题。我的问题是:如果我使用jQuery Ajax将一个超文本标记语言的一部分加载到一个div中,如下所示:
$('#result').load('ajax/test.html #container');用户是否必须下载整个容器才能看到# test.html div中的内容?换句话说,是下载整个test.html文件,然后解析成只选择#container div,还是只下载#container div?如果发生第一种情况,您能想到只下载#container div而不创建新的html文件的方法吗?
非常感谢你的意见!:)我真的很感激。
发布于 2011-03-29 00:03:41
当然,整个HTML都会被下载。
如果您想要避免这种情况,您必须创建某种类型的服务器端脚本,例如PHP,它将只发送所需的内容。
你可以这样调用它:
$('#result').load('ajax/test.php?ajax=1');在PHP中检查$_GET['ajax']是否存在,如果存在,只发送#container div。
发布于 2011-03-28 23:50:31
请参阅:http://api.jquery.com/load/
$('#result').load('ajax/test.html #.load‘);
当此方法执行时,它将检索ajax/test.html的内容,但随后jQuery将解析返回的文档以查找ID为的元素。此元素及其内容将被插入到ID为result,的元素中,而检索到的文档的其余部分将被丢弃。
发布于 2011-03-28 23:50:07
整个页面将被下载。在jQuery获得内容之后,它会对其进行解析以找到合适的选择。请参阅Docs for jquery load
当此方法执行时,它检索ajax/test.html的内容,但随后jQuery解析返回的文档以查找ID为的元素。此元素及其内容将被插入到ID为result的元素中,检索到的文档的其余部分将被丢弃。
https://stackoverflow.com/questions/5461580
复制相似问题