Jquery 如何从$.ajax获取部分响应
假设我想用 $.ajax 从php页面ie获取结果Jquery 如何从$.ajax获取部分响应,jquery,ajax,Jquery,Ajax,假设我想用 $.ajax 从php页面ie获取结果 $.get("mypage.php", { 'id': "175" }, function(result) { console.log(result); }); 在这里,结果将是: <html> <body> ... <div id="container">...</div> </body> </html> 我相信jQuery将为您创建一个文
$.get("mypage.php", { 'id': "175" }, function(result) {
console.log(result);
});
在这里,结果将是:
<html>
<body>
...
<div id="container">...</div>
</body>
</html>
我相信jQuery将为您创建一个文档片段:
var fragment = $(result);
然后,您可以在片段中查询您感兴趣的元素:
var container = $('#container', fragment);
最后,如果您想查看html:
container.html()
我相信jQuery将为您创建一个文档片段:
var fragment = $(result);
然后,您可以在片段中查询您感兴趣的元素:
var container = $('#container', fragment);
最后,如果您想查看html:
container.html()
这其实是很有可能的,也不是很复杂。当您像jQuery一样向HTML页面发出AJAX请求时,您会得到它的内容 然后可以将该内容转换为DOM并在其上运行jQuery选择器。基本上是创建一个空的根元素,对其运行选择器并提取它。这基本上就是load所做的 这读作:getmypage.php?id=175,当您完成时-从该HTML字符串构建一个实际页面并从中选择container 这正是load所做的。从jQuery源代码:
jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector)
如您所见,它在您的案例中获得响应文本结果,将其放入一个虚拟对象中,并在其中查找选择器,这与我们案例中的容器类似。这实际上是非常可能的,并且不是非常复杂。当您像jQuery一样向HTML页面发出AJAX请求时,您会得到它的内容 然后可以将该内容转换为DOM并在其上运行jQuery选择器。基本上是创建一个空的根元素,对其运行选择器并提取它。这基本上就是load所做的 这读作:getmypage.php?id=175,当您完成时-从该HTML字符串构建一个实际页面并从中选择container 这正是load所做的。从jQuery源代码:
jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector)
如您所见,它在您的案例中获取响应文本结果,并将其放入一个伪文本中,并在其中查找选择器,与我们案例中的容器类似。$.getmypage.php,{'id':175},functionresult{console.log$result.find'container';}@BenjaminGruenbaum我认为您可以将答案作为答案发布。@GolezTrol从手机发布答案需要大量工作,通常我不愿意回答jQuery这样的基本问题。然而,很多时候人们之所以这么做,是因为他们需要快速解决问题,如果我能够提供快速解决方案,那么没有理由不这么做:快速获得答案是如此令人敬畏的一部分,我相信很快就会有人提供更好的深入答案。@Benjamin Gruenbaum效果很好,如果你在这里发布你的答案,谢谢你会给你投票:@Josh很好,因为你到目前为止还没有得到满意的答案,一天过去了,我决定回答它:让我知道我在答案中是否有什么需要澄清的-我很乐意这样做。$.getmypage.php,{'id':175},functionresult{console.log$result.find'container';}@BenjaminGruenbaum我认为您可以将答案作为答案发布。@GolezTrol从手机发布答案需要大量工作,通常我不愿意回答jQuery这样的基本问题。然而,很多时候人们之所以这么做,是因为他们需要快速解决问题,如果我能够提供快速解决方案,那么没有理由不这么做:快速获得答案是如此令人敬畏的一部分,我相信很快就会有人提供更好的深入答案。@Benjamin Gruenbaum效果很好,如果你在这里发布你的答案,谢谢你会给你投票:@Josh很好,因为到目前为止你还没有得到一个满意的答案,一天过去了,我决定回答它:让我知道,如果有什么我应该澄清的答案-我很乐意这样做。