首先,很抱歉我的英语不好。我有个问题。我需要通过 ajax 调用创建 Highcharts 。
这很完美:
chartOptions = { chart: { renderTo: 'grafica1', type: 'area', }, series: [{ data: [1,2,3] }]};
chartprueba = new Highcharts.Chart(chartOptions);
我想做的是一个带有消息或 json 响应的 ajax,例如:
"chart: { renderTo: 'grafica1', type: 'area', }, series: [{ data: [1,2,3] }]}"
所以我需要一种方法让 jQuery 解释像代码而不是像字符串...
这是我的示例,但不起作用:
msg = JSON.parse(msg);
chartOptions = msg;
chartprueba = new Highcharts.Chart(chartOptions);
因为 chartOptions
是一个字符串而不是对象...
最佳答案
这个字符串
"chart: { renderTo: 'grafica1', type: 'area', }, series: [{ data: [1,2,3] }]}"
不是有效的 JSON。它没有左花括号,它有杂散的逗号,键没有被引用。它甚至不是有效的 javascript 对象定义,但检查 json.org
JSON 强加了额外的严格性。
编辑:根据您在别处的评论:
您正在使用 JSON 编码字符串,而不是对象。你想要的是像
$retorno = Array(
chart => Array (renderTo =>'grafica1', type => 'area' ),
series => Array(Array(data => Array(1,2,3)))
);
echo json_encode($retorno);
(如果我没记错 php
语法的话)。
关于javascript - 需要将 JSON 解释为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19502992/