我的目標是創建一個列高圖,顯示各種推銷員的名稱以及他們銷售多少。我寫了這個代碼從我的SQL數據庫返回的名稱和每個業務員的銷售總和:LINQ SQL方法不填充Highcharts
[HttpPost]
public JsonResult ChartVendedores()
{
//Retorna um JSON contendo o nome do vendedor e o valor por ele vendido, usando inner join pelo id do vendedor.
try
{
var resultado = (from ve in db.tblVendedor
join vn in db.tblVenda on ve.vendedor_id equals vn.vendedor_id
group vn by new
{
ve.vendedor_nome
}into g
select new {
vendedor_nome = g.Key.vendedor_nome,
venda_valor = g.Sum(x => x.venda_valor)
}).ToList();
var jsonResult = new
{
Nomes = resultado.Select(x => x.vendedor_nome),
Valores = resultado.Select(x => x.venda_valor)
};
return Json(resultado);
}catch(Exception)
{
return null;
}
}
這是被創建的圖表,其中,該方法被調用,它是suposed填補圖表與數據庫的返回數據:
<script>
$(function() {
$.ajax({
url: '/Vendedores/ChartVendedores',
type: 'post',
async: false,
sucess: function (data) {
//Constrói o gráfico com os valores retornados pelo banco.
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Venda dos Colaboradores'
},
xAxis: {
categories: [
data.Nomes
],
crosshair: true
},
yAxis: {
min: 0,
title: {
text: 'Valor (R$)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Valores',
data: data.Valores
}]
});
}
})
})
我是什麼我失蹤?只要代碼去,我不認爲我在方法中寫了任何錯誤的代碼。我說錯了嗎?我操縱它錯了嗎?我試圖刪除我的Ajax代碼,只留下圖表本身,因爲它位於highchart.com上並且它工作正常,所以問題不在我的容器div或圖表代碼中。
編輯:正如下面的評論,我看着我的控制檯,我收到一條關於Highcharts需要的進口產品的警告。減退如下is this one.看到這個後,我試圖刪除AJAX,並只使用highchart code。有效!對於當圖表嘗試使用一些這方面的原因:
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
當圖表代碼包含內部sucess: function(data){}
注意它沒有找到它:我在代碼的beggining進口的一切,同時包含Ajax的腳本被寫入最後。
嘗試'return Json(resultado,JsonRequestBehavior.AllowGet);'。參考這篇文章:https://stackoverflow.com/questions/8464677/why-is-jsonrequestbehavior-needed –
沒有改變,@KhanhTO – William
@William,你是否在前端獲取數據。你可以確保在瀏覽器開發者控制檯中返回json結果。瀏覽器控制檯中是否有錯誤? –