对象不支持属性或方法' map'在chart.js中

时间:2017-05-07 14:15:08

标签: asp.net wcf chart.js wcf-rest

我正在尝试使用chart.js和ASP.Net显示条形图。当我在我的AJAX代码中编写硬编码值时,它工作正常,但当我调用WCF服务时,它显示错误。

错误
enter image description here

这是我的HTML代码:

$.getJSON("http://localhost:50984/Dashboard.svc/getChartData", function (labels) {
                var labeldata = labels;
                var ctx = document.getElementById("mybarChart1");
                var myChart = new Chart(ctx, {
                    type: 'bar',
                    data: {
                        labels: ["Label1", "Label2", "Label3"],
                        datasets: [
                            {
                                label: "Today's File",
                                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,
                                data: [56, 4, 23],
                            }
                        ]
                    }
                });
            });

上面的代码工作正常,但当我更改一行以从WCF读取数据时,它会出错:

更改

labels: ["Label1", "Label2", "Label3"],

labels: labeldata,

这是我的WCF代码:
enter image description here

接口部分代码:

[WebGet(UriTemplate = "getChartData", ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        string getChartData();

我在这里做错了什么?

编辑

好的,首先我按照这个例子:

  

https://codepedia.info/chart-js-asp-net-dynamically-create-line-chart-with-database-ms-sql-using-jquery-ajax-c-example/

然后是这个:

  

https://www.justcodeweb.com/dynamic-line-chart-in-asp-net-from-database-using-chart-js/

在这两种情况下,AJAX呼叫转到"错误"方法代替"成功"。我在代码中做的唯一更改是删除了SQL Server部分并编写了硬编码值。如果我使用以下URL直接从浏览器调用我的WCF,则返回JSON。但是当在AJAX中调用它时,它会转到"错误"方法

  

http://localhost:54480/Dashboard.svc/getNewChartData

JSON

  

[" [' 2017年5月7日'' 2017年5月6日']"" [531131]&#34 ;]

不知道现在该做什么。

0 个答案:

没有答案