【问题标题】:how to parse jquery ajax xhtml response?如何解析 jquery ajax xhtml 响应?
【发布时间】:2010-04-13 21:28:01
【问题描述】:

对不起,如果这已经发布了很多次。但是我尝试了很多变化,但它仍然不起作用。 HTML 很好地从 jquery AJAX 调用中返回,我正在尝试使用以下方法从响应中删除页眉和页脚:

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

我已经通过检查 $(data) 并使用 alert 打印出数据的文本来对响应进行断点以验证 #content 是否存在。我也尝试使用“body”或“a”作为选择器,但它总是以未定义的形式返回。

我在这篇文章中读到,您无法提取完整的 XHTML 文档:jquery ajax parse response text。但是我再也找不到答案的引用了,也许它已经过时了?

有人遇到过这个问题吗?

非常感谢, 史蒂夫

【问题讨论】:

    标签: parsing jquery jquery-selectors


    【解决方案1】:

    这对我有用:

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

    【讨论】:

      【解决方案2】:

      你需要一个 div 来附加你的数据。喜欢$("#response").replaceWith($(data).find('#content')); 应该可以的

      【讨论】:

        【解决方案3】:

        当接收到的文档中有<div> 标签时有效。

        例如<body><div> your content </div></body>.

        看一个很简单的proof of concept

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            你在使用get方法吗?或者,您可以使用 jQuery 加载方法,您可以在其中提供要加载的页面片段。

            例如,从格式良好的 html 文档中加载内容 div,您可以使用

            $("#div-to-load-to").load("html-doc-to-load-from.html #content", function() { //做一点事 });

            【讨论】:

              【解决方案6】:

              您必须保证您的 HTML dom 格式正确。

              尝试最简单的 HTML

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-11-06
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-07-07
                • 1970-01-01
                • 2019-05-15
                相关资源
                最近更新 更多