可以';t从AJAX请求中筛选数据


Can't filter data from AJAX request

我正试图通过AJAX从index.php获取新数据,并将其插入元素中。不幸的是,jQuery无法正确过滤数据。我使用了这里建议的相同选项。

修正版本:

$.ajax({
    type: "GET",
    url: "index.php",
    data: "ajaxGetContent=1",
    success: function(data){
        $(data).filter(".bubble").html();
        $("#bubbles").empty();
        $("#bubbles").append(data);
    }
});

执行此代码时,控制台中会显示以下错误消息:

"未捕获错误:语法错误,无法识别的表达式:所有请求的HTML代码"

当您将过滤后的数据添加到#bubbles元素时,您没有使用它。请注意,data在成功函数的第一行中保持不变。

你可能想要这样的东西:

success: function(data){
    var filtered_data = $(data).filter(".bubble").html();
    $("#bubbles").empty();
    $("#bubbles").append(filtered_data);
}

注意url的名称表明您正在使用ajax请求重新加载整个页面,然后只使用其中的一小部分。您应该在原始页面中单独包含这一小部分,并使用该脚本使用ajax加载,这样您就不必进行筛选。

这也将减少需要发送的数据量,以及现在在服务器上完成并立即丢弃的冗余处理。