0

私はチタンを使用してjsonデータを取得していますが、問題は、jsonデータの長さを計算するたびに、nullの長さを読み取ることができないということです。これが私のコードです:

                  Ti.UI.setBackgroundColor('#000');

 var win1 = Ti.UI.createWindow({
backgroundColor : '#fff',
title : 'Tab 1'
 });
var tab1 = Ti.UI.createTab({
icon : 'KS_nav_views.png',
title : 'Tab 1',
window : win1
 });

var JsonTable = Ti.UI.createTableView({
height : Ti.UI.FILL,
width : Ti.UI.FILL
});
win1.add(JsonTable);

 function getData() {
var myfontsize = '14dp';
// I needed to add this to test
var tableData = [];
var Json, Story;
var xhr = Ti.Network.createHTTPClient({
    onload : function() {
        var json = JSON.parse(this.responseText);
        // declare your variables :-)
        //alert(JSON.stringify(Story));
    //  alert(Story.nombre);
        alert(json.length);
        // only one . between things
        for (var i = 0; i < json.length; i++) {
            Story = json[i];
            //Ti.API.info('Story', JSON.stringify(Story));
            //Ti.API.info('Story.nombre', Story.nombre);
            var row = Ti.UI.createTableViewRow({
                backgroundColor : 'yellow',
                height : '85dp',
                width : Ti.UI.FILL
            });
            var labTitle = Ti.UI.createLabel({
                backgroundColor : 'orange',
                color : 'black',
                font : {
                    fontSize : myfontsize,
                    fontWeight : 'bold'
                },
                height : Ti.UI.SIZE,
                left : '25%',
                text : Story.nombre,
                top : '2%',
                width : Ti.UI.FILL
            });

            row.add(labTitle);
            tableData.push(row);
        }
        JsonTable.setData(tableData);
    },
    onerror : function(e) {
        Ti.API.debug("STATUS: " + this.status);
        Ti.API.debug("TEXT: " + this.responseText);
        Ti.API.debug("ERROR: " + e.error);
        alert('There was an error retrieving the remote data. Try again.');
    },
    timeout : 5000
});
JsonTable.addEventListener('click', function(e) {
    var index = e.index;
});
xhr.open("GET", "http://aplicaciones4.sct.gob.mx/sibuac_internet/SerEscogeRuta?estados");
xhr.send();
  }

 var btnGo = Ti.UI.createButton({
title : 'Go'
 });
 btnGo.addEventListener('click', function(e) {
getData();
  });
  //win1.setRightNavButton(btnGo);
win1.add(btnGo);

var img = Ti.UI.createImageView({
height : 32,
image : 'activity_indicator.gif',
width : 32
});
//win1.add(img);

 var tabGroup = Ti.UI.createTabGroup();
 tabGroup.addTab(tab1);
 tabGroup.open(); 

これで私を助けてもらえますか

前もって感謝します

4

1 に答える 1

0

結果に「json」以外の名前を付けてみてください。

また、ずさんな var 宣言があります...

"var Json,Story;" << "J"son 大文字、未使用

于 2013-02-15T00:30:49.053 に答える