Я экспериментирую с HighStock API
и испытываю проблему с отображением данных, возвращаемых с моего сервера.HighCharts (highstock) - данные не отображаются
Javascript запрос выглядит следующим образом:
var displayOHLCChart = function() {
var $input = $(this);
var listedId = $('[data-field="Id"]').val();
var url = '/ListedSecurities/GetChartData/' + listedId;
$.getJSON(url, function (data) {
$('#ohlc-container').highcharts('StockChart', {
rangeSelector: {
selected: 2
},
title: {
text: 'AAPL Stock Price'
},
series: [{
type: 'ohlc',
name: 'AAPL Stock Price',
data: data,
dataGrouping: {
enabled: false
}
}]
});
});
};
$("#ohlc-container").each(displayOHLCChart);
Мой призыв к /ListedSecurities/GetChartData/1
возвращает следующие JSON
Edit: копировать и вставлять кончили некоторые запятые
[{"date":"1/07/1996","DayOpen":2.95,"DayHigh":2.97,"DayLow":2.89,"DayClose":2.89},
{"date":"2/07/1996","DayOpen":2.91,"DayHigh":2.99,"DayLow":2.91,"DayClose":2.99},
{"date":"3/07/1996","DayOpen":3.00,"DayHigh":3.00,"DayLow":2.95,"DayClose":2.97},
{"date":"4/07/1996","DayOpen":2.95,"DayHigh":2.96,"DayLow":2.90,"DayClose":2.96},
{"date":"5/07/1996","DayOpen":2.96,"DayHigh":2.98,"DayLow":2.95,"DayClose":2.96},
{"date":"8/07/1996","DayOpen":2.95,"DayHigh":3.00,"DayLow":2.93,"DayClose":2.98},
{"date":"9/07/1996","DayOpen":2.98,"DayHigh":2.98,"DayLow":2.95,"DayClose":2.96}]
Когда страница отображается Я вижу заголовок диаграммы, кнопки масштабирования, скроллер временной шкалы, но данных нет.
Если я смотрю на «данные» в своем java-скрипте, он говорит, что содержит 7 объектов (по одному для каждой даты выше), и я могу развернуться, чтобы увидеть фактические элементы. Если проблема «данные» - это объекты возврата внутри объектов, как мне изменить следующий запрос LINQ, чтобы вернуть правильный JSON?
public ActionResult GetChartData(int? id)
{
var EODData = _unitOfWork.Repository<EODSecurityData>()
.Query()
.OrderBy(q => q
.OrderBy(c => c.EODDate))
.Filter(x => x.ListedSecurityId == id)
.Get().ToList()
.Select(r => new { date= r.EODDate.ToShortDateString(), r.DayOpen, r.DayHigh, r.DayLow, r.DayClose });
return Json(EODData, JsonRequestBehavior.AllowGet);
}
Спасибо.
приятный, рад, что вы его отсортировали. :) – hutchonoid
Большое спасибо за публикацию вашего решения. Я ударился головой о стену, потому что мой json не возвращал правильный формат даты. Большое спасибо. –