0

我有一个 JS 类,我在其中实例化一个 goog.net.XhrIo 对象。现在我可以从那个 JS 变量中得到我需要的所有东西,问题是每当我尝试将值分配给“父”类的实例变量时,我都会得到一个未定义的错误。我认为这是一个范围界定问题,但我不知道如何处理它。我正在使用 Google Closure 库。代码可以在以下位置找到:

主 JS 文件

我正在尝试将 POST 请求的所有结果存储在 this.items 对象/数组中。行号为 270。如果您在浏览器中查看此内容,请搜索“console.log(this.mainView);” 它会带你直接找到问题所在。

goog.net.XhrIo.send(this.URL+'/action.url.php', function(e){
    var items = new Object();
    items = e.target.getResponseJson();
    for(var x in items)
    {
        var currentName;
        var currentCat;
        if(items.hasOwnProperty(x))
        {
            currentName = items[x].name;
            currentCat = items[x].categories;
        }
        var x = goog.dom.createDom('div', {
        }, currentName, currentCat);
        console.log(this.mainView);
    }
    return e;
},'POST', 'action=getUserData');
4

1 回答 1

0

尝试将处理程序绑定到对象goog.bind

goog.net.XhrIo.send(this.URL+'/action.url.php', goog.bind( function(e){
    var items = new Object();
    items = e.target.getResponseJson();
    for(var x in items)
    {
        var currentName;
        var currentCat;
        if(items.hasOwnProperty(x))
        {
            currentName = items[x].name;
            currentCat = items[x].categories;
        }
        var x = goog.dom.createDom('div', {
        }, currentName, currentCat);
        console.log(this.mainView);
    }
    return e;
}, this),'POST', 'action=getUserData');
于 2012-07-26T16:02:51.487 回答