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를 작성했습니다. 다음과 같이 보입니다.
<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로 변경하면 성공합니다.
dataType이 JSON-String에 올바르게 응답하도록 데이터를 "인코딩"해야한다고 생각하지만 어떻게 그리고 어디에서?
당신의 도움을 주셔서 감사합니다.
좋아, 나 혼자 놀랐어. 문제를 해결하는 방법을 찾았습니다.
제 경우에는 json 파일의 문자열 출력을 kvp_stats.cshtml
다음과 같이 렌더링해야합니다.
@Html.Raw(mm_json.getJSON_Kvp(2016))
@mm.json.getJSON_Kvp
(2016) 대신
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다