Ajo*_*uve 2 javascript ajax callback
我真的不明白为什么我的变量未定义这是我的代码:
Calendar = function() {
this.data;
this.init = function(path, callback){
$.ajax({
url:path,
type:'GET',
success:function(data){
this.data = data;
console.log(this.data);
callback();
}
})
}
this.create = function(){
this.generateYear();
}
this.generateYear = function(){
console.log(this.data);
}
}
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
$(document).ready(function(){
var calendar = new Calendar();
calendar.init(path,function(){
calendar.create();
});
});
Run Code Online (Sandbox Code Playgroud)
所以第一个console.log是好的,但第二个是未定义的,我不明白为什么因为他之后被调用.
谢谢你的帮助
在ajax函数中设置上下文参数.试试这个:
$.ajax({
url:path,
type:'GET',
context: this,
success:function(data){
this.data = data;
console.log(this.data);
callback();
}
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
128 次 |
最近记录: |