Javascript 一个图表不能显示数据

Javascript 一个图表不能显示数据,javascript,ajax,django,python-3.x,chart.js,Javascript,Ajax,Django,Python 3.x,Chart.js,此图表正确显示如下内容: 但这一条不显示条形图: 它将此行显示为不正确,其中default2为: 未解析变量default2 编辑 我已经在下面对您进行了注释,以便您查看,并添加了一张显示此错误的图片: 编辑 如何使上面的图表与另一个图表一样显示条形图? 已经做了好几天好几个小时了,在这里寻找答案,但运气不好。希望你能看到我哪里出错了 新手,谢谢你们的帮助,伙计们 编辑 编辑 chart.js var endpoint = '/api/chart/data/'; var defaultD

此图表正确显示如下内容:

但这一条不显示条形图:

它将此行显示为不正确,其中default2为:

未解析变量default2

编辑

我已经在下面对您进行了注释,以便您查看,并添加了一张显示此错误的图片

编辑

如何使上面的图表与另一个图表一样显示条形图?

已经做了好几天好几个小时了,在这里寻找答案,但运气不好。希望你能看到我哪里出错了

新手,谢谢你们的帮助,伙计们

编辑

编辑

chart.js

var endpoint = '/api/chart/data/';
var defaultData = [];
var labels = [];
var defaultData2 = [];
var labels2 = [];

$.ajax({
    method: "GET",
    url: endpoint,
    success: function (data) {
        labels = data.labels;
        defaultData = data.default;
        setChart()
        },
        error: function (error_data) {
            console.log("error");
            console.log(error_data)
        }
    });

$.ajax({
    method: "GET",
    url: endpoint,
    success: function (data) {
        labels2 = data.labels2;
        defaultData2 = data.default2;   # default2 displays error/as incorrect???
        setChart2()
        },
        error: function (error_data) {
            console.log("error");
            console.log(error_data)
        }
    });

function setChart2(){
     var ctx = document.getElementById("myChart5");
        var myChart5 = new Chart(ctx, {
            type: 'bar',
            data: {
                labels2: labels2,
                datasets: [{
                    label: 'Total',
                    data: defaultData2,
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 206, 86, 0.2)',
                        'rgba(75, 192, 192, 0.2)',
                        'rgba(153, 102, 255, 0.2)',
                        'rgba(255, 159, 64, 0.2)'
                    ],
                    borderColor: [
                        'rgba(255,99,132,1)',
                        'rgba(54, 162, 235, 1)',
                        'rgba(255, 206, 86, 1)',
                        'rgba(75, 192, 192, 1)',
                        'rgba(153, 102, 255, 1)',
                        'rgba(255, 159, 64, 1)'
                    ],
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true,
                            callback: function(value) {if (value % 1 === 0) {return value;}}
                        }
                    }]
                }
            }
        });}


function setChart(){
     var ctx = document.getElementById("myChart1");
        var myChart1 = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: labels,
                datasets: [{
                    label: 'Total',
                    data: defaultData,
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 206, 86, 0.2)',
                        'rgba(75, 192, 192, 0.2)',
                        'rgba(153, 102, 255, 0.2)',
                        'rgba(255, 159, 64, 0.2)'
                    ],
                    borderColor: [
                        'rgba(255,99,132,1)',
                        'rgba(54, 162, 235, 1)',
                        'rgba(255, 206, 86, 1)',
                        'rgba(75, 192, 192, 1)',
                        'rgba(153, 102, 255, 1)',
                        'rgba(255, 159, 64, 1)'
                    ],
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true,
                            callback: function(value) {if (value % 1 === 0) {return value;}}
                        }
                    }]
                }
            }
        });

views.py

from django.shortcuts import render
from django.views.generic import View
from django.http import JsonResponse
from django.contrib.auth import get_user_model
from SiO.member.models import Member
from SiO.CoAdmin.models import Administrator

from rest_framework.views import APIView
from rest_framework.response import Response

import datetime


User = get_user_model()


class ChartView(View):
    def get(self, request, *args, **kwargs):
        return render(request, 'chart/ChartView.html', {})


class ChartViewMonth(View):
    def get(self, request, *args, **kwargs):
        return render(request, 'chart/ChartView/month.html', {})



class ChartData(APIView):
    def get(self, request, format=None):
        today = datetime.date.today()
        qs_count = Administrator.objects.filter(association=self.request.user.association).count()
        qs_count1 = Member.objects.filter(association=self.request.user.association).count()
        qs_count2 = Member.objects.filter(reg_date__year=today.year,
                                      reg_date__month=today.month).filter(
                                      association=self.request.user.association).count()
        labels2 = ["January"]
        default_items2 = [qs_count2, ]
        labels = ["Board", "Members"]
        default_items = [qs_count, qs_count1]
        data = {
            "labels": labels,
            "default": default_items,
            "labels2": labels2,
            "default2": default_items2,
        }
        return Response(data)

url.py

from django.conf.urls import url
from . import views
from django.contrib.auth import get_user_model


User = get_user_model()

urlpatterns = [
    url(r'^ChartView/$', views.ChartView.as_view(), name='ChartView'),
    url(r'^ChartView/month$', views.ChartViewMonth.as_view(), name='ChartView/month'),
    url(r'^api/chart/data/$', views.ChartData.as_view()),
]

您确定
data
对象具有属性
default2
?@Oen44-您的意思是在客户端(javascript)或后端(python)上吗?控制台在
success
回调中记录
data
,并检查是否存在
default2
@Oen44-是的。以图像形式查看上面的输出。如果控制台中没有错误,则说明您正在使用的是IDE。