Ошибка типа: json [i] не определено - PullRequest
2 голосов
/ 19 мая 2011

в чем причина этой ошибки?

  <script type="text/javascript">
        dojo.xhrGet({
            url: "homeChart.php",
            handleAs: "json",
            load: function(json) {
                $m = [];
                for (var i = 1; i < 10; i++) {
                    $m.push(parseFloat(json[i]["valor" + i]));
                    alert(i);    
                }
                dojo.addOnLoad(makeCharts);
            }
        });
    </script>

вывод homeChart.php точно такой: [200]

спасибо

Ответы [ 2 ]

1 голос
/ 19 мая 2011

json равно [200], в котором есть только одна вещь (200) с индексом 0.

Цикл for использует индексы с 1 по 10 - эти индексы не определены для этого массива.

0 голосов
/ 19 мая 2011

Вы делаете: parseFloat (json [i] ["valor" + i]

Даже если i находится в диапазоне, json [0] ["valor0"] будет неопределенным, куры parseFloat вернутся NaN.

Если ваш json представляет собой массив чисел с плавающей точкой, вам следует попробовать что-то вроде

for (var i = 0; i < json.length; i++) {
    $m.push(json[i]);
}

Надеюсь, это поможет.

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