这是我见过的最奇怪的事情。我有一个用php创建的数组 - 然后我使用JSON_Encode将它与FLOT Graph一起使用。我曾经回忆过编码过的阵列 - 而且它非常完美。
然后随机出现另一个警告框,其中包含" null"。
随后,该脚本还有一个" null"当我回应它到javascript。
当我检查它时,var d1为空......
首先我得到一个警告框[[0,50],[1,3],[2,488],[3,25],[4,90],[5,50],[6,90],[7,50],[8,5]]
- 然后我得到第二个警告框,我没有用#34; null"。
代码:
<?php
$num = 0;
while($row = $sql->fetch(PDO::FETCH_OBJ)){
$line[] = array($num,intval($row->percent));
$num ++;
}
$TEST = json_encode($line);
echo "<script>alert('".$TEST."');</script>";
?>
<script>
var d1 = <?php echo $TEST;?>;
$(document).ready(function () {
$.plot($("#chart"), [d1]);
});
</script>
Inspector的输出:
var d1 = []; //Notice the empty array
$(document).ready(function () {
$.plot($("#chart"), [d1]);
});
答案 0 :(得分:1)
将$line = array();
用于来自while循环的空数据
$line = array();
while(....
你可以检查空
if(count($line)!=0) {
$TEST = json_encode($line);
echo "<script>alert('".$TEST."');</script>";
}
更新:
$TEST = json_encode($line);
echo "<script>$.plot($('#chart'), \"<?php echo $TEST; ?>\");</script>";