javascript - 无法过滤 AJAX 请求中的数据

标签 javascript php jquery html ajax

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

更正版本:

$.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 进行加载,这样您就根本不需要进行过滤。

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

关于javascript - 无法过滤 AJAX 请求中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450293/

相关文章:

javascript - 使用javascript在html中动态添加/删除行

javascript - 如何从 AngularJs 中的本地存储中的键访问值?

javascript - iOS 上的 Safari,在弹出虚拟键盘之前是否有任何事件?

php - MPDF - 第一页的不同背景

javascript - Bootstrap 模式事件 - 在返回之前等待回调完成

javascript - 使类的元素可寻址

php - CakePHP 编码指南 : Why are some properties camelCased instead of CamelCased?

php - 替换多维php数组中的值

javascript - 动态调用Javascript变量

javascript - 使用输入范围缩放谷歌地图