Javascript 将来自ajax的django视图结果作为表添加到模板中
我有一个django模型,我认为我聚合了几个列,过滤结果并返回如下Javascript 将来自ajax的django视图结果作为表添加到模板中,javascript,python,django,Javascript,Python,Django,我有一个django模型,我认为我聚合了几个列,过滤结果并返回如下 def show_grid_summery(request): id = request.GET.get('id', None) context = { "summery": [], } result = Records.objects.filter(grid_id_id = id).aggregate(Sum('house_count'), Sum('point_count'
def show_grid_summery(request):
id = request.GET.get('id', None)
context = {
"summery": [],
}
result = Records.objects.filter(grid_id_id = id).aggregate(Sum('house_count'), Sum('point_count'))
if len(result) != 0:
context["summery"].append([result['house_count__sum'], result['point_count__sum']])
return JsonResponse(context)
在模板上,我使用ajax获得结果
$.ajax({
url: 'ajax/summery/',
data: {
'id': ID
},
dataType: 'json',
success: function (data) {
alert(data);
var trHTML = '';
document.getElementById('summaryLabel').innerHTML = '';
$.each(data.summery , function (item) {
trHTML += '<tr><td>' + item[0] + '</td><td>' + item[1] + '</td></tr>';
});
$('#summaryLabel').append(trHTML);
}
$.ajax({
url:'ajax/summy/',
数据:{
“id”:id
},
数据类型:“json”,
成功:功能(数据){
警报(数据);
var trHTML='';
document.getElementById('summaryLabel')。innerHTML='';
$.each(data.summary,函数(项){
trHTML+=''+项[0]+''+项[1]+'';
});
$(“#summaryLabel”).append(trHTML);
}
现在我想在#summaryLabel标签内将结果记录(2列)作为一个表填充(最好也带有标题)。但是在多次尝试之后,我无法对其进行排序
html部分是
<table id="summaryLabel">
<p>information.</p>
</table>
信息
jQuery$。each()
函数传递两个参数,第一个是数组索引,第二个是对象。因此,在代码中,项
变量似乎包含索引,这不是您想要的
尝试:
$。每个(数据['summy'],函数(i,项){
trHTML+=''+项[0]+''+项[1]+'';
});
或者只是
$.each(data['summery'] , function () {
trHTML += '<tr><td>' + this[0] + '</td><td>' + this[1] + '</td></tr>';
});
$。每个(数据['summy'],函数(){
trHTML+=''这个[0]+''这个[1]+'';
});
jQuery$。这里记录了each()
:jQuery$。each()
函数传递两个参数,第一个是数组索引,第二个是对象。因此,在代码中,项
变量似乎包含索引,这不是您想要的
尝试:
$。每个(数据['summy'],函数(i,项){
trHTML+=''+项[0]+''+项[1]+'';
});
或者只是
$.each(data['summery'] , function () {
trHTML += '<tr><td>' + this[0] + '</td><td>' + this[1] + '</td></tr>';
});
$。每个(数据['summy'],函数(){
trHTML+=''这个[0]+''这个[1]+'';
});
jQuery
$。这里记录了each()
:您能用HTML代码更新吗?特别是带有#summaryLabel
的代码,它只是一个id为的div。更新了当前发生的情况-您看到表中添加的行了吗?JSON响应看起来正确吗?它是否包含您期望的数据(使用浏览器开发人员工具中的“网络”选项卡查看响应).Yes响应来了。我访问json时使用了错误的索引和格式。您能用HTML代码更新吗?尤其是带有#summaryLabel
的代码,它只是一个id为的div。更新了当前发生的情况-您看到添加到表中的行了吗?json响应看起来正确吗?它是否包含您期望的数据(使用浏览器开发工具中的网络选项卡查看响应)。是的,响应来了。我访问json时使用了错误的索引和格式。是的,这几乎成功了。只是我必须使用数据['summery']在每个函数中,而不是data.summery,根据我的json响应。很高兴它有帮助!我将为未来的搜索者编辑我的答案。是的,这几乎成功了。只是我必须在每个函数中使用data['summery'],而不是data.summery,根据我的json响应。很高兴它有帮助!我将为未来的搜索者编辑我的答案。