【发布时间】:2012-12-21 19:16:30
【问题描述】:
我的目的是,我想从数据中取出特定的 html 并仅更新该区域。
How do I filter the returned data from jQuery.ajax?
此链接是旧帖子,但我确实遇到了完全相同的问题。
链接给出的解决方案是$("[ref=B]").html(data).find( '[ref=A]' );
但是,如果我这样做,整个页面将首先写入<span ref='B'>,然后在其中找到选择器.....
只找到“[ref=A]”的另一种方法是
html = $(data).filter('[ref=B]').find('[ref=A]').html() // this way will work
这些都不行
$(data).find('[ref=A]').html();
$(data).filter('[ref=A]').html();
$(data).filter('body').html();
$(data).find('body').html();
HTML
`<body>
<span ref='B'><span ref='A'>abc</span></span>
</body>`
JS
$(function() {
$.get(window.location.pathname + window.location.search, function(data){ alert(data);});
});
返回数据
<html>
<body>
<span ref='B'><span ref='A'>abc</span></span>
</body>
</html>
我的问题是,有没有一种解决方案可以从 $.ajax 返回的数据中过滤 body 的 html?喜欢
body_html = $(data).???????
然后我可以做任何我想做的事,比如
body_html.find('xxxx');
非常感谢您的建议。
【问题讨论】:
-
数据的价值是什么?返回的标记是否有效?
-
是的,data的值是正确的,整个加载的html
-
请发布您从 GET 请求中获得的确切信息。
$(data).find('[ref=A]').html();应该可以工作! -
如果您需要过滤数据响应,数据可能已损坏,您最好使用 json 响应
-
@直到您为此使用 XHR 预加载新文档,然后您将在正文中应用,或者您只是想提取 XHR 数据结果的某些部分?我的示例适用于两者,但如果您要附加完整的文档,有更好的方法,我可以展示如何。
标签: javascript jquery jqxhr