Ajax

在不同的callback函数间传递变量

jQuery中的ajax()函数的返回值可以链式调用done()、fail()等函数,如:

$.ajax("/exmple.do")
.done(function(data){
    //①
    alert("done");
})
.done(function(){
    //②
    alert("done");
})
.fail(function(){
    //③
    alert("fail");
});

如果想在②处获取①处的数据,只需在①处将数据绑定在this关键字上,即可在②处用过this.exmple获取。

最终实现代码如下:

$.ajax("/exmple.do")
.done(function(data){
    this.name = "liangzai_cool"; //①
    alert("done");
})
.done(function(){
    alert(this.name); //② 此处会弹出对话框,内容即为:liangzai_cool
    alert("done");
})
.fail(function(){
    //③
    alert("fail");
});
About Me
WEB开发工程师
GitHub Repos