ajax请求嵌套的问题。
直接上代码吧,内嵌的两个ajax请求相互依赖对方的返回结果,如何处理?
$.getJSON("/js/jsonData/list.php", function (data) {
var classId = data.classId ;
var cityId = data.cityId;
$.getJSON("/js/jsonData/class.php",{classId :classId }, function (data1) {
var className = data1.name;
//需要使用 cityName做一些逻辑...
}
$.getJSON("/js/jsonData/city.php",{cityId :cityId }, function (data1) {
var cityName= data1.name;
//需要使用 className 做一些逻辑...
}
});
另外,嵌套太多的问题,有没有好办法解决? 比如里面还有再嵌ajax请求,这样代码有点难看了。
------解决方案--------------------
只能嵌套了!!!
------解决方案--------------------
相互依赖的设计肯定是有问题的,第一个返回的函数肯定是没法执行的。
如果是需要两个都返回结果后才执行逻辑,可以类似这样
function fo(){if(!(!r1 && !r2 ))...}
两个ajax的回调函数里都是直接 执行fo ,让fo自己来判断,只有两个值都返回了,才执行逻辑