0

私はJSONを使用してリストビューを作成していますが、これで成功していますが...同じJSON呼び出しで「配列にない」他のデータを自分のページに送信できるかどうか迷っていました。 $eachを通して?

ここに私のJSONがあります: ---編集---

[{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]

ご覧のとおり、次のようなリストビューに入る3つの「リスト」があります。

dataCallback = function (data) {
    var content = [];
    // var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $.each(data, function (i, val) {
        content.push(val.list); // GETTING ALL THE MENUS //
    });
    $('#games').html(content.join('')).listview('refresh');
}

menutime が表示されません... どうすればよいですか?

前もって感謝します :-)

- - - - - - - - 編集 - - - - - - - -

ケビンBが提案したようにこれを試しましたが、うまくいきませんか?!

dataCallback = function(data){
    alert("Date: "+data.menutime);

    //var content = data.list.join("");
    //var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //

    $('#userbar').html(data.profile); // FETCHING USERS DATA FOR PROFILEBAR //
    //$('#games').html(content).listview('refresh');
}

私のアラートでは、「未定義」と表示されます。

私の「ジェイソン」は次のようになります。

([{"menutime":"2013-04-25 15:57:50"},{"profile":"troels"}])

これがうまくいかない理由はありますか?

4

3 に答える 3

2

サーバーが返す内容を変更できる場合は、含まれている内容に対してより適切に構造化されたデータを返すようにします。

{ 
    "menutime": "2013-04-23 19:23:42",
    "list": ["menu1","menu2","menu3"]
}

これで、コールバックがより簡単になります。

dataCallback = function (data) {
    var content = data.list.join("");
    var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $('#games').html(content).listview('refresh');
}
于 2013-04-23T19:33:19.633 に答える
0

メニュータイムにアクセスしていません -

content.push(val.menutime);

jsonは次のようになります-

 [{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]
于 2013-04-23T19:31:47.907 に答える
0

配列をオブジェクト内にラップできます

dataCallback = function (data) {
    var content = [];
    // var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $.each(data, function (i, val) {
        content.push(val.list); // GETTING ALL THE MENUS //
    });
    var sendData = {
          content :content ,
          menutime:now
    };
    $('#games').html(sendData .content.join('')).listview('refresh');
    ///use sendData.menutime to get menutime
} 
于 2013-04-23T19:32:38.243 に答える