在我的 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 View 如下:
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
,会抛出变量未定义的错误。
最佳答案
看看ajax.dataSrc
.当用作回调时,您可以在将响应传递给 DataTables 之前对其进行操作,并且显然也可以初始化或填充其他元素:
myTable = $('#table').DataTable({
ajax: {
type: "GET",
url: "{% url 'Clusters' %}",
dataSrc: function(data) {
doSomethingWith( data.time_data )
return data.data
}
},
columns: [ ... ]
})
关于javascript - 如何访问django中数据表外的数据表的ajax响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629708/