$.ajax({
url:"1",
data:{id=1},
success:function(data){
$.ajax({
url:"2",
data:{id=data},
success:function(data1){
$.ajax({
url:"3",
data:{id=data1},
success:function(data){
console.log(data);
}
});
}
});
}
})
可能我的问题没有描述清楚。对不起了。
我想要的是这种可以改写成链式的么?
没有获得返回值就不进行下面的请求了
var dtd = $.Deferred();
$.ajax({
url:"1",
data:{id=1}
}).done(function(data){
//这里data中还有一个id字段我需要它来发送下一次请求是否可以使用deferred对象来传递给
//下一个done
//比如id=1
//dtd.resolve(id);
}).done(function(data){
//我想再这里获得上一个回调中的id
//我最期望的手段就是data就是在dtd中的id
//因为我可能有这样的很多个操作,不考虑全局变量手段
$.ajax("test1.php").then(function(data) {
if(data 不对){return $.Deferred().reject();}
// data 是 test1.php 的返回值
return $.ajax("test2.php");
}).then(function(data) {
if(data 不对){return $.Deferred().reject();}
// data 是 test2.php 的返回值
return $.ajax("test3.php");
}).then(function(data) {
if(data 不对){return $.Deferred().reject();}
return $.ajax("test4.php");
}).fail(function(){
console.log("error")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。