我正在尝试通过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代码"
答案 0 :(得分:1)
将过滤后的数据添加到#bubbles
元素时,您没有使用过滤后的数据。请注意,data
在成功函数的第一行保持不变。
您可能需要以下内容:
success: function(data){
var filtered_data = $(data).filter(".bubble").html();
$("#bubbles").empty();
$("#bubbles").append(filtered_data);
}
注意,url
的名称表明您正在使用ajax请求重新加载整个页面,然后只使用其中的一小部分。您应该将该小部分作为原始页面中的单独包含,并使用该脚本加载ajax,以便您不必过滤。
这也会减少需要发送的数据量以及现在在服务器上完成的冗余处理并立即丢弃。