HighShart JSON AJAX выпуск - PullRequest
       1

HighShart JSON AJAX выпуск

0 голосов
/ 23 января 2012

Я довольно новичок в веб-разработке, я обычно работаю над вещами на стороне сервера.Я работаю над небольшим хобби-электронным проектом, где у меня есть сетевой запрос json на netduino.Netduino возвращает json в следующем формате:

[ { "sensor" : "bk", "temp" : "68.9000015", "time" : "01/01/2009 01:04:46"},{ "sensor" : "mt", "temp" : "69.0124969", "time" : "01/01/2009 01:04:46"},{ "sensor" : "hlt", "temp" : "68.9000015", "time" : "01/01/2009 01:04:46"} ]

Я бы хотел, чтобы датчики были моими сериями {bk, mt, hlt} (в этом возвращении есть еще две серии)

Мой ajax-запрос, похоже, не отправляет, получает в мое netduino, я отслеживаю запросы в httpfox и ничего не вижу на 192.168.0.11 ...

Вот js:

    //data arrays for holding the points
    var HLT=[],
        MT =[],
        BK =[],
        PC =[],
        CL =[];
    var chart;

    //after DOM is loaded setup timeout to call the ajax method
    $(document).ready(function() {
        setInterval(reqData, 5000);

        options.series[0].data = HLT;
        options.series[1].data = MT;
        options.series[2].data = BK;
        options.series[3].data = PC;
        options.series[4].data = CL;

        //call function to render the chart and setup the options
        renderChart();

    });

    //this function requests the data
    function reqData(){
    $.ajax({
        url: "http://192.168.0.11/"+Math.random(),//using math.random to avoid browser caching
        contentType: "application/json; charset=utf-8",             
        success: mergeData(data)
    });
    }

    //this function merges the data and refreshes the table
    function mergeData(data){
    //$(this).addClass("done");
    }

    function renderChart(){
        chart = new Highcharts.Chart(options);
    }

диаграмма отображается при загрузке страницы, но я не вижу, чтобы вызывалось reqData.Пожалуйста помоги.Также, каков хороший способ обновить данные серии?Я не хорошо с javascript будет ли foreach соответствия на сериале имя работы?Я хочу нанести на график температуру (ось Y) и дату / время (ось X) темпов.

Спасибо!

--- редактировать 23.01.2012 ---

Мне было не совсем понятно, в чем проблема, извините, в этой функции:

    //after DOM is loaded setup timeout to call the ajax method
    $(document).ready(function() {
        setInterval(reqData, 5000);

        options.series[0].data = HLT;
        options.series[1].data = MT;
        options.series[2].data = BK;
        options.series[3].data = PC;
        options.series[4].data = CL;

        //call function to render the chart and setup the options
        renderChart();

    });

Функция reqData () не срабатывает (проверено, если не видеть запросы get на 192.168.0.11 в httpfox),однако renderChart () вызывается ... Есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Вы уверены, что нет другой проблемы, которая может быть "мешать"?Вызов для запроса данных выглядит правильно;Я поместил его в следующую скрипку:

http://jsfiddle.net/malonso/cJ3TJ/3/

Видите ли вы какие-либо ошибки JavaScript при переходе на свою страницу?

0 голосов
/ 23 января 2012

Я видел, как вы разместили данные на IP. Это в том же домене, где вы размещаете эту страницу? Если нет, вы пытаетесь отправить запрос в другой домен. В этом случае вам придется использовать JSONP, чтобы сделать эту работу. См. JSONP на http://api.jquery.com/jQuery.getJSON/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...