【问题标题】:Assigning json output to array var将 json 输出分配给数组 var
【发布时间】:2014-07-16 17:19:28
【问题描述】:

我有一个使用 json 的 jquery 函数。 json 输出,我想放入一个数组,之后我将使用数组来填充表格(填充表格的代码很复杂,我将省略它)。下面的代码不起作用,但如果我直接将 json 输出分配给数组(json 输出),它就可以工作。

服务器端(table.menus.php):

Editor::inst( $db, 'menus', 'id' )
    ->fields(
        Field::inst( 'seccion' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'descripcion' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'precio' )
            ->validator( 'Validate::notEmpty' )
    )
    ->process( $_POST )
    ->json();

JS:

$( document ).ready(function() {
    var data = [];
    data = $.getJSON("table.menus.php", function(json) {
        data = json;
    });

如果使用上述代码,则 html 代码可以工作:

data = json;

我分配数据数组变量(从firebug复制并粘贴json输出)如下:

data = [{
    "DT_RowId": "row_1",
    "seccion": "Primeros",
    "descripcion": "paella valenciana con bogavante y cigalas",
    "precio": "189"
}, {
    "DT_RowId": "row_2",
    "seccion": "Segundos",
    "descripcion": "cocido completo",
    "precio": "99"
}, {
    "DT_RowId": "row_3",
    "seccion": "Primeros",
    "descripcion": "Raviolis al presto",
    "precio": "65"
}, {
    "DT_RowId": "row_4",
    "seccion": "Segundos",
    "descripcion": "Chuleton de buey",
    "precio": "60"
}];

【问题讨论】:

  • getJSON 是一个异步函数。在结果事件上执行您的代码(在function(json){ 之后)
  • consoke.log(json)data = json; 行之前给出了什么?我怀疑json将是ArrayObject instad ..
  • @AdityaJain 看看他在做什么data =$.getJSON(... 这是问题
  • ..我要去调查一下彼得说的。欢迎提供更多帮助或代码示例!谢谢!

标签: javascript arrays json getjson


【解决方案1】:

问题是 JSON 输出给出了一个 object (array) ,我真的需要作为变量处理。解决方案非常简单,只需将 JSON 输出分配给一个变量,现在它可以工作了!

$(document).ready(function(){
    $.getJSON("../php/platos.php", function(data){
    for (var i=0, len=data.length; i < len; i++) {
        console.log(data[i]);
    }
    data = data['data']; //    assing array output (object) to var. easy and work!

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多