![](/img/trans.png)
[英]In ASP.NET, how to process data on both client side (javascript) and server side with the one form submission?
[英]How to display dynamic server side data retrieved from client side using AJAX method in a Javascript Pie Chart, in a html template (ASP.NET)
我已经成功地使用AJAX从客户端(C#后端)到服务器端(aspx中的Javascript HTML)检索数据。 由于互联网给出的示例使用a内部显示数据,因此不确定如何将自己的数据动态显示到Javascript饼图中。
这通过使用POST方法从C#方法“ calculateAverageLoginRate”中检索数据,以aspx形式显示AJAX方法。
这是c#方法“ calculateAverageLoginRate”
我想用从c#方法“ calculateAverageLoginRate”检索到的自己的动态数据替换饼图中的硬编码值。 由于我使用的是AJAX,因此不熟悉应如何编码AJAX,以便它能够获取检索到的数据并将其作为饼图值输入。 请指教,谢谢。
好吧,您走的路正确。 将您的成功函数更改为下面,全局声明pieData
。 在成功函数中,您将响应分配给pieData
数组。 您的函数仅返回一个数字-因此您可以直接将其分配。
//declare globally
var pieData;
// change success function to this
success: function(response) {
pieData = [
{
value: response, //response is from ajax request
color: "#337AB7" //hardcoded color
},
{ //hardcoded object
value: 50,
color: "#FC8213"
}
];
//instantiate chart
new Chart(document.getElementById("pie").getcontext("2d").Pie(pideData));
}
但是 ,如果它返回JSON格式的数组,则可以这样迭代:
杰森(示例):
[
{
value: 'some random value1',
color: "#353AB7"
},
{
value: 'some random value2',
color: "#237AB7"
},
{
value: 'some random value3',
color: "#F37AB7"
},
{
value: 'some random value14,
color: "#137AB7"
}
]
JS:
// declare global array
var pieData = [];
// change success function to this
success: function(response) {
response.forEach(function(el) {
pieData.push({value: el.value, color: el.color})
});
new Chart(document.getElementById("pie").getcontext("2d").Pie(pideData));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.