【问题标题】:Jquery: Encoding and decoding json to/from php [closed]Jquery:编码和解码json到/从php [关闭]
【发布时间】:2012-09-23 18:12:39
【问题描述】:

我有一个jquery函数如下:

$(document).on("click",".ball_link", function fetchLevels(){
     $.getJSON('fetch_level.php',{level: clicked_ball}, function(data) {
        $.each(data, function() {
        alert(data);
        });
    });
});

我的 fetch_level.php 文件如下所示:

$clicked_ball=$_GET["level"];
$sqlget="select * from level_flow where parent_level='$clicked_ball'";
$resultget=mysql_query($sqlget);

$response_array=array();
while($rowget=mysql_fetch_assoc($resultget)){
    $response_array[]=$rowget;
}

echo json_encode($response_array);

查询返回跨 5 列的 3 行(所有整数)。我希望能够访问这 15 个值中的每一个,但是 js 代码中的 alert(data) 给出了这个:

([object],[Object]),([object],[Object]),([object],[Object])

【问题讨论】:

  • 函数(){警报(数据); }); data 是全局 XHR 对象。 “.each”方法不能这样工作

标签: php javascript jquery mysql json


【解决方案1】:

在 jQuery 中视为对象,例如:

$(document).on("click",".ball_link", function fetchLevels(){
     $.getJSON('fetch_level.php',{level: clicked_ball}, function(data) {
        $.each(data, function(i, name) {
            alert(name.parent_level);
        });
    });
});

data 包含您所有的数据库行名和值

【讨论】:

  • 非常感谢!效果很好!
【解决方案2】:

其实mysql_fetch_assoc返回一个关联数组,你把那个数组放到另一个数组里面

所以在javascript中你可以尝试

alert(data[0].nameOfColumn);

你可以迭代它

$.each(data,function(i, el) {
    alert(el.nameOfColumn);
} );

在任何情况下查看数据结构都可以使用 chrome 或 Firefox (with Firebug) 和 console.log(data)

【讨论】:

  • 非常感谢!效果很好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-12-27
  • 1970-01-01
  • 2012-05-30
相关资源
最近更新 更多