【问题标题】:json_encode is not workingjson_encode 不工作
【发布时间】:2015-07-16 05:47:46
【问题描述】:

我正在使用 Jquery Flot Chart 来绘制图表。要将数据传递给图表,我从数据库中获取数据,然后我需要将该 php 数组传递给 javascript 数组。我正在使用 json_encode($array),但它不起作用。

     $row=array();
      while($res=mysql_fetch_array($exequery))
     {
        $row[]=$res[0];
     }

现在,在同一个文件中(不使用 ajax),我想将这个 php 数组传递给 javascript 数组,然后将其用于绘制图表。

    <script src="jquery-1.8.3.min.js"></script>
     <script src="jquer.flot.min.js"></script>     
     <script type ="text/javascript">
     var dataArray=<?php echo json_encode($row)?>;

当我使用它时,图表正在消失,并且 alert(dataArray) 也没有显示任何内容。请帮忙。

【问题讨论】:

  • 需要解析json数组,使用JSON.parse @uddipana
  • 是否 返回 '{}' 或 {}
  • 您如何使用 json_encode() is as recommended on other questions 并且应该可以按预期工作。您是否已验证 $rowdataArray 中的数组的结构与流程图预期的一样?
  • 不需要 json_encode。试试这个 console.log('');
  • 旁注:您似乎在src 路径之一中有错字——在jquery 中缺少y 用于jquery.flot.min.js

标签: javascript php jquery arrays flot


【解决方案1】:

使用 jquery 解析 Json:

var dataArray=jQuery.parseJSON('<?php echo json_encode($row)?>');

打开此链接:- http://api.jquery.com/jquery.parsejson/

【讨论】:

  • 在将 JSON 直接输出到 JavaScript 代码时,引号和 parseJSON() 并不是必需的。如果它的输出是预期的 Expression,例如赋值运算符的右侧,则 JSON 的字符串将被解析为有效的 JavaScript,使用启发 JSON 语法的关键字、文字和初始化程序。
猜你喜欢
  • 2017-06-17
  • 1970-01-01
  • 2017-11-15
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 2017-01-08
  • 1970-01-01
相关资源
最近更新 更多