我正在尝试使用chart.js和ASP.Net显示条形图。当我在我的AJAX代码中编写硬编码值时,它工作正常,但当我调用WCF服务时,它显示错误。
这是我的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,
接口部分代码:
[WebGet(UriTemplate = "getChartData", ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
string getChartData();
我在这里做错了什么?
编辑
好的,首先我按照这个例子:
然后是这个:
https://www.justcodeweb.com/dynamic-line-chart-in-asp-net-from-database-using-chart-js/
在这两种情况下,AJAX呼叫转到"错误"方法代替"成功"。我在代码中做的唯一更改是删除了SQL Server部分并编写了硬编码值。如果我使用以下URL直接从浏览器调用我的WCF,则返回JSON。但是当在AJAX中调用它时,它会转到"错误"方法
JSON
[" [' 2017年5月7日'' 2017年5月6日']"" [531131]&#34 ;]
不知道现在该做什么。