【发布时间】:2020-04-25 00:51:59
【问题描述】:
在我的 django 应用程序中,数据表发出 ajax REST api 请求,其中响应如下:
{
"data": ["some content here"],
"time_data": [
{
"Last_updated": "Jan 07 2020 06: 09 CST",
"Next_scheduled": "Jan 07 2020 07: 09 CST"
}
]
}
这是django REST API的视图如下:
class clustersView(views.APIView):
def get(self, request):
results = {}
clusters = get_collection('clusters')
results['data'] = ClusterSerializer(clusters, many=True).data
results['time_data'] = get_collection('time_data')
return Response(results)
在上述响应 json 中,data 键已按如下方式访问并用于填充数据表,并且工作正常。
$(document).ready(function () {
myTable = $('#table').DataTable({
ajax: {
"type": "GET",
"url": "{% url 'Clusters' %}",
},
columns: [
{ 'data': 'Master' },
{ 'data': 'Workers' },
{ 'data': 'Build' },
{ 'data': 'Team' }]
});
});
但是下一个键,即time_data 需要在数据表之外的 div 中使用。
如何在 javascript 中访问响应内容?这样我就可以在响应中使用time_data。
注意:访问 django 响应变量 results ,会抛出未定义变量的错误。
【问题讨论】:
-
response.time_data 将返回数组,因此 response.time_data[0] 将是包含两个键/值的第一个对象。假设
response是您在 javascript 中处理的对象 -
但是如果你向我们展示你的javascript代码可能会更清楚
-
@dirkgroten 我已经用更多信息更新了这个问题,请查看它。
标签: javascript django datatables