gpt4 book ai didi

javascript - JSON 输出格式不起作用

转载 作者:行者123 更新时间:2023-11-30 12:55:02 25 4
gpt4 key购买 nike

我对 JSON 格式有疑问。我的目标是生成一个 highcharts 图表,其中包含通过 ajax 从 php 中提取的数据。除了数据输出的格式存在一些问题外,我终于可以正常工作了。

因此,在我的 data.php 文件中我有:

$result = array();
$result['name'] = '2013';
$x = mysqli_query($con,"
SELECT Logdatetime, Temp
FROM alldata
LIMIT 12"
);

while($r = mysqli_fetch_array($x)){
$result['data'][] = $r['Temp'];
}

print json_encode($result, JSON_NUMERIC_CHECK);

当我尝试它时,输出看起来像这样:

{"name":2013,"data":[-1.4,-1.4,-1.3,-1.3,-1.3,-1.3,-1.3,-1.2,-1.3,-1.2,-1.2,-1.2]}

然后在我的主页中,我有这样的 AJAX 调用:

$.ajax({
url : 'data.php',
datatype : 'json',
success : function (json) {
alert(json);
options.series[0].name = json['name'];
options.series[0].data = json['data'];
chart = new Highcharts.Chart(options);
},
});
}

我把 alert 放在那里检查数据,结果和上面用 PHP 生成的结果一样,所以看起来是正确的。但是,解析“数据”和“名称”中包含的数据一定存在一些问题 - 换句话说,如果我输入:

options.series[0].name = json['name'];

没有插入任何东西(警报产生“未定义”),如果我举个例子:

options.series[0].name = json[1];

然后我得到名字作为第二个字符。这意味着 AJAX 对 JSON 输出的解释一定有问题,但我无法弄清楚问题出在哪里。

最佳答案

jQuery $.ajax 属性是“dataType”,而不是“datatype”。如果您没有正确设置数据类型,您将获得原始字符串作为回调的参数。

$.ajax({
url : 'data.php',
dataType : 'json', // <--- note the capital "T"
success : function (json) {
alert(json);
options.series[0].name = json['name'];
options.series[0].data = json['data'];
chart = new Highcharts.Chart(options);
}, // <--- GET RID OF THIS COMMA
});

关于javascript - JSON 输出格式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19506120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com