简体   繁体   English

使用json_encode将数组从PHP传递到JavaScript显示空值

[英]Passing array from PHP to JavaScript using json_encode shows empty values

I'm using the following code to send an array from PHP to JavaScript, but it doesn't seem to work using json_encode() . 我正在使用以下代码将数组从PHP发送到JavaScript,但它似乎无法使用json_encode() Here's my code: 这是我的代码:

In PHP: 在PHP中:

$arr = array();
while($row = mysql_fetch_assoc($result)) {
    $arr[] = $row; 
}

In JavaScript: 在JavaScript中:

var test = "<?php echo json_encode($arr); ?>";
alert (test);

Result of var_dump(): var_dump()的结果:

array
  0 => 
    array
      'proj_nbr' => string '0111' (length=4)
      'proj_name' => string 'General' (length=7)
  1 => 
    array
      'proj_nbr' => string '' (length=0)
      'proj_name' => string 'New Project' (length=11)

It displays just blank values. 它只显示空白值。 My PHP version is 5.3.6. 我的PHP版本是5.3.6。

I figured this out.. My mistake here was the double quotes in javascript var test = "<?php echo json_encode($arr); ?>"; 我想出来了..我的错误是javascript中的双引号var test = "<?php echo json_encode($arr); ?>";

should be var test = <?php echo json_encode($arr); ?>; 应该是var test = <?php echo json_encode($arr); ?>; var test = <?php echo json_encode($arr); ?>;

also changed mysql_fetch_assoc to mysql_fetch_row . 还将mysql_fetch_assoc更改为mysql_fetch_row

But the data is not in array format. 但数据不是数组格式。 I got data in this format (0111,General,) . 我得到了这种格式的数据(0111,General,) I need data in array format. 我需要数组格式的数据。 Any suggestions? 有什么建议么?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM