【发布时间】:2013-07-09 19:29:28
【问题描述】:
我正在自学 AJAX 以 AJAXify 我的网站。在我的模板中,我有以下 JS 代码从视图中获取一些 JSON 数据,然后将数据附加到 div。
function filter(type) {
$.getJSON(
'/activity_stream/global-activity-stream/',
{xhr: "true", filter: type},
function(data) {
$('.mainContent').children().remove();
$(data).appendTo('.mainContent');
});
}
$(".btn").click(function () {
filter("recent");
});
}
我认为我的视图返回了正确的 JSON,但现在没有将数据添加到 .mainContent div。
它给出了这个错误:
未捕获的类型错误:无法读取未定义的属性“ownerDocument”。
【问题讨论】:
-
如果您要返回 JSON,那么仅将其附加到 DOM 中是行不通的。你预计会发生什么?
-
我想我希望它能够将数据加载到 div 中......我怎样才能做到这一点?我对这个 AJAXy 东西很陌生...
-
只需将
$('.mainContent').children().remove(); $(data).appendTo('.mainContent');更改为$('.mainContent').html(data);问题是,当您执行appendTo时,jquery 期望$(data)是一个dom 节点,在这种情况下很可能不是 -
谢谢,虽然现在返回的 JSON 数据没有显示在 div 中,但它帮助解决了该错误:-(
-
@karthikr 只是将原始 JSON 转储到页面上,但是是的
$('.mainContent').html(data);应该显示来自服务器的任何内容(作为原始 JSON 文本)。 (在此之前无需删除子节点。)您可以使用浏览器调试工具来检查并查看服务器返回的确切内容。
标签: javascript jquery django json