jQuery 学习笔记

Ajax

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax("/exmple.do")
.done(function(data){
//①
alert("done");
})
.done(function(){
//②
alert("done");
})
.fail(function(){
//③
alert("fail");
});

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

最终实现代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
$.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");
});