使用JSON将数组从PHP传递到JavaScript
伙计们 我看到有些人已经有过类似的问题,但通过阅读这些帖子,我无法解决我的问题。我在PHP中有一个数组(IQ_PHP_MODB_v4.PHP),它的值可以被回显并且是有效的(因此我认为PHP是正确的)。我的javascript文件使用json获得PHP文件创建的数组。 调用json encode的php代码部分是:使用JSON将数组从PHP传递到JavaScript,javascript,php,jquery,json,encode,Javascript,Php,Jquery,Json,Encode,伙计们 我看到有些人已经有过类似的问题,但通过阅读这些帖子,我无法解决我的问题。我在PHP中有一个数组(IQ_PHP_MODB_v4.PHP),它的值可以被回显并且是有效的(因此我认为PHP是正确的)。我的javascript文件使用json获得PHP文件创建的数组。 调用json encode的php代码部分是: $out[1]=$data; $out[2]=$leitura1; $out[3]=$leitura2; echo json_encode($out); 调用json的代
$out[1]=$data;
$out[2]=$leitura1;
$out[3]=$leitura2;
echo json_encode($out);
调用json的代码的javascript部分是:
$.ajax({
type: 'GET',
url: 'IQ_PHP_MODB_v4.php',
async: false,
dataType: 'json',
success: function(data) {
document.write("succes");
var tensaoValor = eval(data[2]);
var correnteValor = eval(data[3]);
var potenciaValor = eval(data[1]);
var potenciaRValor = 230;
}
});
我不明白为什么JSON不能获取变量。succedd这个词从未打印过,所以我认为数据没有到达javascipt。有人知道如何解决这个问题吗?自从本周行乞以来,我就一直被这个问题困扰着
提前感谢尝试从代码中删除eval()
并且,请删除
async:false
。Ajax应该是异步的。尝试从代码中删除eval
s。停止使用document.write和eval,这可能不会解决问题,但这是一个很好的开始。控制台对请求有何评论?您是否收到HTTP错误?您确实需要打开浏览器调试工具(F12)并查看正在发出的网络请求-它还应该包括响应数据,这样您可能会看到它不是有效的JSON数据,或者在请求过程中确实发生了其他错误。