グラフを使用してデータベースの一部のデータを表現しようとしています。これまでのところ、私はデータベースからデータを取得していない、私はWebメソッドを介してデータを提供するだけの問題を抱えています。私は常に404エラーを取得します。私は、私のURLに何か間違っていると思うが、私は今何時間も試しているし、それを解決する方法を見つけることができません。だからここChart.jsグラフのサーバー側データを提供
は私のコードです:
マイIndex.asmx
namespace WebApplication1.Views.Home
{
/// <summary>
/// Summary description for Index
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class Index : System.Web.Services.WebService
{
[WebMethod]
public static List<string> getChartData()
{
var returnData = new List<string>();
var chartLabel = new StringBuilder();
var chartData = new StringBuilder();
chartLabel.Append("[");
chartData.Append("[");
for (int i = 0; i <= 10; i++)
{
chartLabel.Append(string.Format("'{0}',", new DateTime(2017, 7, i + 1).ToString()));
chartData.Append(string.Format("{0},", (i * 2).ToString()));
}
chartData.Length--; //For removing ','
chartData.Append("]");
chartLabel.Length--; //For removing ','
chartLabel.Append("]");
returnData.Add(chartLabel.ToString());
returnData.Add(chartData.ToString());
return returnData;
}
}
}
マイIndex.cshtml:
<form id="form1" runat="server">
<div>
<canvas id="Chart" width="600" height="500"></canvas>
</div>
</form>
<script type="text/javascript">
$(function() {
var ctx = document.getElementById("Chart").getContext('2d');
$.ajax({
url: "Index.asmx/getChartData",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
success:function(response)
{
var chartLabel = eval(response.d[0]); //Labels
var chartData = eval(response.d[1]); //Data
var barData = {
labels: chartLabel,
datasets: [
{
label: 'July Sales',
fillColor: "rgba(225,225,225,0.2)",
strokeColor: "Blue",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "Green",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: chartData
}
]
};
var skillsChart = new Chart(ctx).Line(barData);
}
});
}
);
</script>
私はどこ見当がつかないという理由だけで、いくつかのより多くのコードを投稿しました私は間違いを犯した。 Btw。両方のファイルが同じディレクトリにあります。
これは私が得たエラーです:POST http://localhost:50337/Home/Index.asmx/getChartData 404(見つかりません)
はそれを修正する方法を誰を知っていますか?
まだ答えを探していますか?私は正確な問題を抱えてそれを解決しましたが、違いはAJAXではなく、ビューバックにチャートを渡してビューで受け取ったことです。それがあなたにとって有益なのかどうかわからない! –