首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jquery的ajax同时加载多个&ajax的有关问题

2013-03-13 
jquery的ajax同时加载多个&.ajax的问题var temp $.query.get(temp)var bid jQuery(function($)

jquery的ajax同时加载多个&.ajax的问题
var temp = $.query.get("temp");
var bid = ""; 
jQuery(function($){
$.ajax({
url:'../portal/program/TitleInfoService.j',
type:"POST",
data:"id=" + $.query.get("id") + "&temp=" + temp,
dataType:'json',   
success:function(data){


bid = data[0][0];
}
    });
    $.ajax({
url:'../portal/program/RDZTService',
type:"POST",
data:"rdzt=RDZT",
dataType:'json',   
success:function(data){ 

}
    });
   
     $.ajax({
url:'../portal/program/JBZLService',
type:"POST",
data:"jbzl=JBZL",
dataType:'json',   
success:function(data){ 

}
    });
     //刷新留言板信息
$.ajax({
url:'../portal/program/LYBServiceList',
type:"POST",
data:"bid="+bid,
dataType:'json',   
success:function(data){ 
var div = '';
for(i = 0; i < data.length; i++) {
div += '<hr/><ul><li>' + data[i][1] + '</li><li>' + data[i][2] + '</li></ul>';
}
$(".ly").html(div);
}
    });
    
});
打开页面后同时加载上面的代码,现在遇到这么个问题,定义了全局变量var bid如红色字体,在第一个ajax里面请求成功后会给bid赋值,可是在最后一个ajax里我通过data属性把bid传到LYBServiceList中,但是LYBServiceList中接受到的是空值,如果我在代码的注释部分如蓝色字体的下面加个alert("11");,传入的bid就有值,请教各位这个加载多个ajax并且共用一个全局变量该怎么解决,谢谢
[解决办法]
获取bid的ajax改为同步的。。。因为异步的话ajax还没执行完毕给bid赋值就已经执行到使用bid的ajax请求了

   var temp = $.query.get("temp");
    var bid = "";
    jQuery(function ($) {
        $.ajax({
            url: '../portal/program/TitleInfoService.j',
            type: "POST",
            data: "id=" + $.query.get("id") + "&temp=" + temp,
            dataType: 'json',
            async: false,///////////////
            success: function (data) {
                bid = data[0][0];
            }
        });
        $.ajax({
            url: '../portal/program/RDZTService',
            type: "POST",
            data: "rdzt=RDZT",
            dataType: 'json',
            success: function (data) {



            }
        });

        $.ajax({
            url: '../portal/program/JBZLService',
            type: "POST",
            data: "jbzl=JBZL",
            dataType: 'json',
            success: function (data) {

            }
        });
        //刷新留言板信息
        $.ajax({
            url: '../portal/program/LYBServiceList',
            type: "POST",
            data: "bid=" + bid,
            dataType: 'json',
            success: function (data) {
                var div = '';
                for (i = 0; i < data.length; i++) {
                    div += '<hr/><ul><li>' + data[i][1] + '</li><li>' + data[i][2] + '</li></ul>';
                }
                $(".ly").html(div);
            }
        });

    });


[解决办法]
ajax调用后台获得的值,无法成为全局变量,如果想要使用可以把下面要用到的ajax写成一个函数,传值进入这个函数
  ,比附 function abc(obj){}  把success: function (data) {bid = data[0][0]; abc(bid)}
就可以啦,还是不懂就再回复我哈

热点排行