我使用从php通过ajax传递的数组有问题。 我需要将数据放入Chart.js图。
我的Ajax看起来像这样:
$.ajax({
url: "/wordpress/wp-admin/admin-ajax.php",
method: "POST",
data: { action: 'hfwpGetGraph' },
success: function(response) {
var myLabels = [];
var myData = [];
for(var i in response) {
myLabels.push(response[i].Date);
myData.push(response[i].DiaLevel);
}
<Chart.js code>
} // End Success
}) // End Ajax
如果我每行显示我的数组,它看起来像这样:
[{"ID":"17","UserID":"29","Date":"2016-09-25","Systolic1":"50","Systolic2":"0","Systolic3":"45","Diastolic1":"48","Diastolic2":"0","Diastolic3":"51","SysAverage":"0","DiaAverage":"0","SysLevel":"0","SysText":"","DiaLevel":"0","DiaText":""},
如果我显示&#34; myLabels&#34;或&#34; myData&#34;他们都表明:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
我做错了什么...... ??
注意:我的php数组传递方式如下:
echo json_encode($graphData);
此致 弗莱明
答案 0 :(得分:0)
我通过在“成功”之后添加“parseJSON”解决了这个问题。
success: function(response) {
var json = $.parseJSON(response);
但我不明白解决方案的完整概念。 我见过的大多数例子都是通过ajax从php解析一个array()到javascript不使用parseJSON转换。
他们只是使用响应,就好像它已经是一个数组而不是一个字符串。