У меня есть небольшое приложение dancer, которое обслуживает некоторые HTML (включая javascript для вызова API google charts) и для других URL запрашивает базу данных и возвращает данные в закодированном JSON в форме, которую можно передать в google.visualization.DataTable. javascript запрашивает приложение dancer для получения данных в формате JSON, а затем передает их в google charts API - упрощенная версия:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(initialize);
function initialize() {
var res = $.ajax({
url: "/data/2",
dataType:"json",
async: false,
data: "{}",
contentType: "application/json",
error: function(jqXHR, textStatus, errorThrown) {
alert('textStatus ' + textStatus);
alert('errorThrown ' + errorThrown);
}
});
jsonData = res.responseText;
var data = new google.visualization.DataTable(jsonData);
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240});
}
</script>
Проблема в том, что некоторые данные, возвращаемые Perl, включают даты/временные метки и поэтому должны иметь тип "datetime":
{"rows":[{"c":[{"v":"WHAT_CAN_I_PUT_HERE"},{"v":"2095"}]}],"cols":[{"type":"datetime","label":"DTU"},{"type":"number","label":"COUNT"}]}
В Javascript вы можете создать дату для передачи в google charts API с помощью:
new Date(2012, 1, 08, 09, 32, 0)
Как я могу отправить дату, закодированную в JSON, из Perl так, чтобы google charts API понял ее? Если нет, то какие еще варианты могут быть доступны?