У меня есть небольшое приложение-танцор, которое обслуживает некоторый HTML-код (включая javascript для вызова API Google Charts) и для других URL-адресов запрашивает базу данных и возвращает данные в кодированном формате JSON в форме, которую вы можете передать google.visualization. Таблица данных. Javascript запрашивает у приложения Dancer данные JSON, а затем передает их в API Google Maps. Упрощенная версия:
<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 вы можете создать дату для передачи в API Google Maps:
new Date(2012, 1, 08, 09, 32, 0)
Как я могу отправить дату, закодированную в JSON, из Perl, чтобы API-интерфейс Google Charts это понимал? Если вы не можете, какие другие варианты могут быть доступны для меня?