我正在尝试通过 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/