我想做一个Ajax请求,只在不加载整个页面的情况下从页面中获取ID,这可能吗?这就是我现在正在做的事情。我可以从页面上的ID中获取信息,但是它会加载整个页面,包括来自站点的所有图像,从而减慢了整个过程。
$.ajax({
type: "GET",
url: randomUrl,
success: function (data) {
$data.find("#wantedID").html(),
}
});
答案 0 :(得分:2)
如果您需要将HTML直接加载到DOM中的元素中,请使用.load()
发出AJAX请求,以便您可以为要加载的文档的哪个部分指定选择器。
与
.load()
不同,$.get()
方法允许我们指定要插入的远程文档的一部分。这是通过url参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是jQuery选择器,用于确定要加载的内容。$( "#result" ).load( "ajax/test.html #container" );`
当此方法执行时,它会检索
ajax/test.html
的内容,但随后jQuery会解析返回的文档以查找ID为container
的元素。此元素及其内容将插入ID为result
的元素中,并且将丢弃检索到的文档的其余部分。
在您的情况下,您将使用:
$("#destination").load(randomUrl + " #wantedID");
如果您需要进一步操作响应,请将响应加载到隐藏的DOM元素中,然后从那里检索HTML。