【问题标题】:Passing an array from PHP to JavaScript using JSON使用 JSON 将数组从 PHP 传递到 JavaScript
【发布时间】:2013-10-04 13:15:45
【问题描述】:

伙计们。

我看到有些人已经遇到过类似的问题,但是通过阅读这些帖子,我无法解决我的问题。我在 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的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。有谁知道如何解决这个问题?从本周开始,我就一直坚持这一点。

提前致谢

【问题讨论】:

  • 尝试从您的代码中删除evals。
  • 停止使用 document.write 和 eval,可能解决不了问题,但这是一个很好的开始。
  • 控制台对请求说了什么?您收到 HTTP 错误吗?
  • 您确实需要打开浏览器调试工具 (F12) 并查看发出的网络请求 - 它还应该包含响应数据,您可能会发现它不是有效的 JSON数据或确实在请求期间发生了其他错误。

标签: javascript php jquery json encode


【解决方案1】:

尝试从代码中删除eval()

并且,请删除async: false。 Ajax 本来就是异步的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2011-07-03
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多