Ich folge @ Sam Farajpour Ghamari ‚s Antwort von Kann nicht: How to populate google charts using data from database created via code first - ASP.Net MVCjQuery.getJSON() Fehler: Browser-Link: Fehlgeschlagen Rückgabewert Rückruf aufzurufen: Typeerror: Lesen Eigenschaft 'Dateien' von null
That mein script.js ist
google.charts.load('current', { packages: ['corechart', 'line'] });
google.charts.setOnLoadCallback(drawLineColors);
function drawLineColors() {
var data = new google.visualization.DataTable();
data.addColumn('number', '@Model.Days');
data.addColumn('number', '@Model.Time');
console.log("!!!");
//data.addRows([
// [9, 12], [11, 14]
//]);
$.getJSON("http://localhost:4411/GetChart", null, function (chartData) {
$.each(chartData, function (i, item) {
data.addRows([[item.Days, item.Time]]);
);
var options = {
title: 'You can see on chart in which time you eat',
hAxis: {
title: 'Days'
},
vAxis: {
title: 'Time'
},
colors: ['#FF6B00', '#0033FF']
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
}
Wie Sie i "http://localhost:4411/GetChart" statt "@ Url.Action ('GetChart')" gestellt sehen können, weil erste funktionierte nicht.
Und Controller ich habe:
[Route("/GetChart")]
public IActionResult GetChart()
{
return Json(_db.database
.Select(p =>new {p.Days, p.Time}));
}
http://localhost:4411/GetChart im Browser zurückgibt:
[{"Days":1101,"Time":20},{"Days":1102,"Time":20},{"Days":1103,"Time":20}]
kommentiert hartcodierte Version „[9, 12], [11, 14 ] "funktionierte in Ordnung, aber die aktuelle script.js-Version gibt Fehler in der Browser-Konsole (F12) zurück:
Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3
!!!
browserLink:64 [00:57:43 GMT+0400 (Russian Daylight Time)] Browser Link: Failed to invoke return value callback:
TypeError: Cannot read property 'files' of null
Als Ergebnis habe ich ein leeres Diagramm ohne Daten. Ich brauche Hilfe, um zu verstehen, wo ich ein Problem habe? Vielleicht ist das Problem, dass das Skript nach Daten in folgendem Format sucht: [[Tage], [Zeit]], aber stattdessen erhält es das Format: [{Daten}, {Zeit}] Wenn ja, wie kann ich repariere es? Lassen Sie mich wissen, wenn zusätzliche Informationen benötigt werden. Danke für deine Zeit und deine Antworten.
Sie brauchen also diese Version von jquery in Ihrem Code: https://cdnjs.com/libraries/jquery/1.9.1. – applecrusher
Ich habe die Version 1.9.1 im NuGet Paket-Manager heruntergeladen, aber das Problem besteht immer noch. @applecrusher, weißt du, wie man es repariert? – Anela
Gibt es eine HTML-Datei, um den jquery-Code oder eine Möglichkeit zum Importieren des Skripts zu platzieren? – applecrusher