小编典典

jQuery ajax解析响应文本

ajax

好的,这真的让我感到沮丧,因为我已经做过一百次了,但是这次却没有用。所以我知道我做错了,我只是想不通。

我正在使用jQuery .get例程从另一个文件加载html。我不想使用.load(),因为它总是替换我要将内容加载到其中的元素的子元素。

这是我的.get请求:

$(document).ready(function() {
    $.get('info.html', {}, function(html) {
        // debug code
        console.log($(html).find('ul').html());
        // end debug code
    });
});

文件’info.html’是具有正确doctype的标准xhtml文件,并且体内唯一的一件事是我需要访问的一系列ul。由于某种原因,find函数给我一个空值。

在Firebug中,GET请求显示正确的RESPONSE文本,并且在我运行时

console.log(html);

代替了当前的console.log行,我得到了整个info.html作为输出,就像我期望的那样。

有任何想法吗?


阅读 445

收藏
2020-07-26

共1个答案

小编典典

您不能拉入整个XHTML文档。您只能处理<body>html文档中存在的标签。令人沮丧
从info.html中删除所有不在您的<body>代码中的内容,然后重试。

还有其他可能的方法可以解决此问题-请在此响应的基础上的“ 相关项”下方进行检查。

从文档中:(http://docs.jquery.com/Core/jQuery#htmlownerDocument

“ HTML字符串不能包含div中无效的元素,例如html,head,body或title元素。

2020-07-26