【问题标题】:Printing Specific JSON array elements in Javascript在 Javascript 中打印特定的 JSON 数组元素
【发布时间】:2013-06-07 09:56:16
【问题描述】:

PHP 脚本从 MySQL 数据库获取数据并使用 JSON 将数组返回给 javascript。我可以得到结果,但我不能让它们单独打印出来。

PHP 代码 -

header('Content-type:application/json');

$link = @new mysqli(_HOST, _USER, _PASS, _DB); //constants 
if(mysqli_connect_errno())
{
    //failure
}
else
{

    //success

    $sqlQuery = "SELECT COL1, COL2 FROM TABLE"; //the query should return two
                                               //columns from every selected row
    $mix = array();                            //array to return using JSON

    $result = $link->query($sqlQuery);

    if ($result->num_rows <= 0)
    {
        //no data
    }
    else
    {
        while ($row = $result->fetch_assoc())       //fetch loop
        {
            $mix["C1"][] = $row['COL1'];        
            $mix["C2"][] = $row['COL2'];        
        }
    }

    $result->free();

    // Close connection
    $link->close();
}

print json_encode($mix); //this line wont show up in previous code formatting block for some reason.

Javascript/jQuery 代码 -

$.ajax({ // ajax call
        url: 'serv.php', // server page
        data: 'fetch=1', //ignore any data
        dataType: 'json', // server return type
        success: function(data) // on success
        {
                for (var i in data) {
                    $('#someDiv').append( i + " = " + data[i] + '<br>');
                }
        }
    });

输出,果然是这样的——

C1 = 1,2
C2 = A,B

我想要完成的是将这些数据 (1,2,A,B) 放入表单表格元素中。为此,我需要单独选择 C1 或 C2 的每个元素。

我怎样才能做到这一点?

【问题讨论】:

    标签: php javascript mysql ajax json


    【解决方案1】:

    我自己找到了解决方案。

    以下 ajax 调用有效-

    $.ajax({ // ajax call
        url: 'serv.php', // server page
        data: 'fetch=1', //ignore any data
        dataType: 'json', // server return type
        success: function(data) // on success
        {
                for (var i in data["C1"]) {
                    $('#someDiv').append( i + " = " + data["C1"][i] + '<br>');
                }
                for (var i in data["C2"]) {
                    $('#someDiv').append( i + " = " + data["C2"][i] + '<br>');
                }
        }
    });
    

    我没有访问数据,而是尝试访问数据中的索引。就是这么简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      相关资源
      最近更新 更多