javascript - ChartJS AJAX 加载标签和数据

标签 javascript jquery json ajax chart.js

我正在尝试使用 AJAX 将标签和数据加载到 ChartJS 中。

我使用的 JSON 文件

{
"trendingLineChartLabels": "['JAN','FEB','MAR']",
"trendingLineChartData": "[1, 5, 2]"
}

jQuery 代码

$.getJSON("test.json", function(response) { 
    console.log(JSON.stringify(response.trendingLineChartLabels));
    var trendingLineChartData = {
        labels : response.trendingLineChartLabels,
        datasets : [
            {
                label: "First dataset",
                fillColor : "rgba(128, 222, 234, 0.6)",
                strokeColor : "#ffffff",
                pointColor : "#00bcd4",
                pointStrokeColor : "#ffffff",
                pointHighlightFill : "#ffffff",
                pointHighlightStroke : "#ffffff",
                data: response.trendingLineChartData
            }
        ]
    }, trendingLineChart = document.getElementById("trending-line-chart").getContext("2d"); 
    window.trendingLineChart = new Chart(trendingLineChart).Line(trendingLineChartData, {scaleShowGridLines:!0,scaleGridLineColor:"rgba(255,255,255,0.4)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!1,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:5,pointDotStrokeWidth:2,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:3,datasetFill:!0,animationSteps:15,animationEasing:"easeOutQuart",tooltipTitleFontFamily:"'Roboto','Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#fff",tooltipEvents:["mousemove","touchstart","touchmove"],tooltipFillColor:"rgba(255,255,255,0.8)",tooltipTitleFontFamily:"'Roboto','Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:12,tooltipFontColor:"#000",tooltipTitleFontFamily:"'Roboto','Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#000",tooltipYPadding:8,tooltipXPadding:16,tooltipCaretSize:10,tooltipCornerRadius:6,tooltipXOffset:10,responsive:!0});            
    });

图表应如下所示: enter image description here

但是它生成是这样的: enter image description here

我已经寻找解决方案,但找不到任何解决方案。预先感谢您的任何帮助。

最佳答案

您的 JSON 对象无效,它应该是这样的......

{
    "trendingLineChartLabels": ["JAN", "FEB", "MAR"],
    "trendingLineChartData": [1, 5, 2]
}

关于javascript - ChartJS AJAX 加载标签和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43530885/

相关文章:

php - 使用 PHP GET 服务器

javascript - 如何从 Controller 或 javascript 中的查询字符串获取准确值

javascript - 如何从异步调用返回响应?

javascript - 如何让 td 点击有 tr

javascript - 通过ajax发送带有字母数字索引名称的数组

java - 如何简单地检查请求正文是否为空或请求正文是否有空字段?

javascript - 基于滚动显示图像的新部分

javascript - 单击选择选项时如何隐藏选项卡

c# - 如何创建用于将大文件上传到 ASP.NET MVC 的 WCF Rest 端点

php - 如何使用 PHP 提取 API 数据并将其添加到数据库中?