嗨,我正在使用Titan Studio开发Android应用程序。我已经开发了小型应用程序。我的问题是我无法访问在xhr.on加载中定义的变量。

xhr.onload = function()
{
var json = this.responseText;
var to_array = JSON.parse(json);
var to_count = to_array.length;
};


我想在onload函数之外访问to_count和to_array并将其传递给另一个子窗口,为此我使用了以下代码:

var feedWin = Titanium.UI.createWindow({
    url:'home/feed.js'
});//alert(to_count);
feedwin.to_array = to_array;
feedwin.to_count = to_count;

最佳答案

最好的方法是在feedWin中初始化onload。因此,以下两个摘要之一应起作用:

xhr.onload = function()
{
    var json = this.responseText,
        feedWin = Titanium.UI.createWindow({
            url:'home/feed.js'
        });//alert(to_count);

    feedWin.to_array = JSON.parse(json);
    feedWinto_count = to_array.length;
};


要么

var feedWin = Titanium.UI.createWindow({
        url:'home/feed.js'
    });

xhr.onload = function()
{
    var json = this.responseText,

    feedWin.to_array = JSON.parse(json);
    feedWinto_count = to_array.length;
};


我不熟悉Titanium,所以我不知道具体情况,但这是我的最佳猜测。

08-17 09:43