如何解析jQuery Ajax XHTML响应?

4

抱歉如果这个问题被提出了很多次。但是我已经尝试了很多变化,仍然无法解决。HTML从jquery AJAX调用中返回得很好,我正在尝试使用以下代码从响应中删除头和页脚:

// none of these work for me
$("#content", data);
$("#content", $(data));
$(data).find("#content").html()

我已经使用断点来检查响应,以验证#content是否存在,通过检查$(data)并使用alert打印出数据的文本。我也尝试使用“body”或“a”作为选择器,但它总是返回未定义。
我在这篇文章中阅读到,您无法拉取完整的XHTML文档:jquery ajax parse response text。但我再也找不到答案的引用了,也许它已经过时了?
有人遇到过这个问题吗?
非常感谢, 史蒂夫
6个回答

3
这对我有用:

这适用于我:

$(data).filter("#content");

2
您需要一个 div 来附加您的数据。像这样 $("#response").replaceWith($(data).find('#content')); 应该可以工作。

2

当接收到的文档中有一个<div>标签时,它就能正常工作。

例如:<body><div>你的内容</div></body>

请参阅一个非常简单的概念验证


1
从您的AJAX调用接收到的数据不是DOM树的一部分,因此您不能使用JQuery函数调用来操作它。您可以使用文本操作函数,可以使用JSON,或者也可以将响应附加到DOM。

0

你必须保证你的 HTML DOM 格式良好。

尝试最简单的 HTML。

<html>
<head>
<title>title here</title>
</head>
<body>
<div>
    <div>hello</div>
        <span id="s">span content</span>
    </div>
</body>


0
你是在使用get方法吗?或者你可以使用jQuery的load方法,其中你可以提供一个页面片段来加载。
例如,要从一个格式良好的HTML文档中加载内容div,你可以使用: $("#div-to-load-to").load("html-doc-to-load-from.html #content", function() { //做一些事情 });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接