我在VisualStudio,c#和NewtonSoft.Json中使用Chart.js。 我写了一个返回有效JSON-String的类。刚看过这里: https://jsonformatter.curiousconcept.com/ JSON-String包含Chart.js的整个数据,如下所示:
{
"labels": [
"O",
"N",
"U",
"G"
],
"datasets": [
{
"label": 2016,
"fillColor": "rgba(220, 220, 220, 0.2)",
"strokeColor": "rgba(220, 220, 220, 1)",
"pointColor": "rgba(220, 220, 220, 1",
"pointStrokeColor": "#fff",
"pointHighlightFill": "#fff",
"pointHighlightStroke": "rgba(220, 220, 220, 1",
"data": [
2,
0,
14,
16
]
}
]
}
现在我已经在我的cshtml中编写了一个小的Ajax脚本。看起来像这样:
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url: 'JSON/kvp_stats.cshtml',
dataType: 'json',
method: 'POST',
success: function (data) {
var d = data;
alert(d);
var ctx = $('#myChart');
var myLineChart = new Chart(ctx, {
type: 'line',
data: d
})
},
error: function () {
alert('Etwas klappt nicht!');
}
});
});
</script>
在kvp_stats.cshtml中我做了以下:刚写道:
@mm_json.getJSON_Kvp(2016)
获取返回的JSON-String。
不幸的是,jquery-ajax似乎并不接受数据作为JSON数据,因为它会遇到错误功能。 当我将dataType更改为html时,它会成功。
我认为我必须&#34;编码&#34;数据类型是否正确响应JSON-String但是如何以及在何处?
感谢您的帮助。
答案 0 :(得分:0)
好的,我自己很惊讶。 刚刚找到了解决问题的方法。
在我的情况下,kvp_stats.cshtml
的json文件中的字符串输出必须按如下方式呈现:
@Html.Raw(mm_json.getJSON_Kvp(2016))
而非@mm.json.getJSON_Kvp
(2016)