此代码有效如果您尝试将javascript数组/对象存储在mysql数据库的单个字段中,我终于弄明白了:不需要json_ecode / decode函数。无需在php中加载多维数组。只需使用 JSON.stringify。
<script>
$(function() {
document.getElementById("send").onclick = function () {
var amps=[];
var i = 0;
while(i<10){
var rand1 = (Math.round(Math.random()*100))/100;
var rand2 = (Math.round(Math.random()*100))/100;
amps.push([rand1, rand2]);
i = i + 1;
}
console.log(amps);
amps = JSON.stringify(amps);
var therun = 'data='+amps;
alert(therun);
$.ajax({
type: "POST",
url: "query.php",
data: therun,
cache: false,
success: function(data) {alert(data);}
});
};
});
</script>
然后在Query.php上
<?php
$username="root";
$password="";
$database="amt";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$encoded = $_POST['data'];
if(isset($_POST['data'])){
$sql="INSERT INTO `amt`.`jsontest` (`id`, `jsonobject`) VALUES (NULL, '".$encoded."');";
$query=mysql_query($sql);
}
?>
最后一步是将其拉出来。请不要开玩笑。 ;)
<script>
$(function() {
<?php
echo "var amps = ".$mysqldata.";\n";
?>
$.plot("#placeholder", [ amps ], {});
});
</script>
希望这对那些试图像我一样使用FLOT的人有所帮助。 :)如果你有一个更有效的方法来做到这一点,请告诉我。