【发布时间】:2014-08-14 16:27:56
【问题描述】:
... 嗨,我有一个对象:
function Page(daoService) {
this.daoService = daoService;
this.gamesList = this.daoService.getGamesList();
}
// Rendering thumbs for main page
Page.prototype.renderThumbs = function(idContainer){
var container = document.getElementById(idContainer);
for (var i = 0; i < this.gamesList.length; i++) {
var thumbNode = document.createTextNode("<div class='thumbIcon'></div>");
thumbNode.style.backgroundImage = Const.PATH_THUMBS + this.gamesList.gameTitleseo;
container.appendChild(thumbNode);
}
};
而且我的代码中有使用这个对象的函数:
document.onreadystatechange = function() {
if (document.readyState == "interactive") {
// Initialization of elements
// Setting global dao service
var daoService = AjaxService();
// Initialization for page object
var page = new Page(daoService);
page.renderThumbs("homePageContainer");
}
}
这里的问题是,当我调用 page.renderThumbs 时,字段 this.gamesList 仍然没有初始化,因为它没有从服务器获得 ajax 响应。你能帮我处理我需要改变的方法吗?谢谢
【问题讨论】:
-
你必须在回调中调用 renderthumbs。即例如。在 ajax 的成功回调中调用函数。
标签: javascript ajax oop document-ready