我在mootools类中有这个类方法:
getData : function(){
var r = new Request.JSON({
url : this.container.getAttribute('data-url'),
method : 'post',
onSuccess : function(j){
this.cards = j;
this.prepareQuiz();
}.bind(this)
}).send();
},
在IE之外的任何浏览器中都可以正常工作,但是在IE中我得到了一个this.cards没有在this.prepareQuiz方法执行它之后发生的方法中定义。我通过在this.prepareQuiz调用之前添加一个if($ defined(this.cards))来缩小问题,如果我只是每隔5次左右刷新页面1就可以了。因此,出于某种原因,某些时间没有设置this.cards变量。
为什么会发生这种情况?
答案 0 :(得分:0)
我的猜测是,由于调用的异步性质,this.cards没有在需要的时候进行初始化。至少这是你的症状所表明的。尝试同步通话,看看是否有同样的问题。