5

次のような JSON 応答を取得しています。

[{
  "order_id": "12",
  "customer": "user user",
  "status": "Pending",
  "date_added": "02\/09\/2012",
  "total": "$500.00",
  "action": [{
    "text": "View",
    "href": "http:\/\/localhost\/oc\/admin\/index.php?route=sale\/order\/info&token=92a80574e5fcbf3e2d021404cfaae1a4&order_id=12"
  }]
}]

アクションキーを見てください。その値は再び配列です。次のコードでアクションキーの値を取得しようとしていますが、未定義と表示されています

function (data) {
  if (data) {
    for (var i = 0; i < data.length; i++) {
      $('div.dashboard-content table.list tbody tr:first').before(
        '<tr id="' + 
        data[i]['order_id'] + 
        '"><td class="right">' + 
        data[i]['order_id'] + 
        '</td><td class="left">' + 
        data[i]['customer'] + 
        '</td><td class="left">' + 
        data[i]['status'] + 
        '</td><td class="left">' + 
        data[i]['date_added'] + 
        '</td><td class="right">' + 
        data[i]['total'] + 
        '</td><td class="right"> [<a href="' + 
        data[i]['action']['href'] + '">' + 
        data[i]['action']['text'] + 
        '</a>]</td></tr>'
      );
    }
  }
}

誰かが私を助けることができますか?前もって感謝します。

4

2 に答える 2

6

あなたが言ったようにaction、配列です。したがって、を使用してアクセスすることはできませんdata[i]['action']['href']。必要な配列の位置を示すには、添え字を使用する必要があります。たとえば、最初の位置にアクセスするには、次を使用します。

var href = data[i].action[0].href;
var text = data[i].action[0].text;
于 2012-09-02T02:10:35.747 に答える
3

actiontext というプロパティを持つオブジェクトを含む配列です。変化する:

data[i]['action']['text']

に:

data[i]['action'][0]['text']
于 2012-09-02T02:10:52.613 に答える