javascript - 如何访问django中数据表外的数据表的ajax响应?

标签 javascript django datatables

在我的 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/

相关文章:

javascript - 如何(在 javascript、Jquery 或 Ajax 等中)将本地文本文件或 xml 文件加载到变量中?

javascript - jquery 返回 false 不在从 onclientclick 按钮事件调用的函数中工作

python - 向现有 django 模型添加新的唯一字段时的最佳实践

c# - 如何为整个winform应用程序中使用的数据表设置日期时间格式?

javascript - 如何强制数据表重新渲染或重新加载静态数据?

javascript - 失去悬停后没有鼠标

IE 中的 JavaScript 问题 - 需要对象吗?

mysql - pip install mysqlclient 在 Linux 主机上不起作用

django - 潜在的 docker 权限问题导致枕头说它没有安装,尽管它是

javascript - 基于单选按钮和复选框的数据表排序