定义了全局的变量,在函数内部赋值后,再在外部不能直接用 还是空 而引用一下例如alert一下才会有值
怎么办就能实现直接引用呢

解决方案 »

  1.   

    var f_perform=new Array();
    var f_user=new Array();
    var f_id=new Array();
    alert(f_id);
    $.ajax({
            type:"GET",
            url:"../php/f_coordGet.php",
            data:{"useId":u_id},
            dataType:"json",
            success:function(msg){        
       f_user=msg.slice(0,240);
           f_perform=msg.slice(240,480);
       f_id=msg.slice(480,720);
       alert(f_id)
      
                }//success
    })//ajax

        alert(f_id);
        alert(f_id);
    for(i=0;i<240;i++){
    $("#a"+i).attr({"c_id":f_id[i],"perform_id":f_perform[i],"user_id":f_user[i]});
    // $("#a"+i).p_show();
          
    }

        var wcw=$("#a12").attr("c_id");
        alert(wcw);
      

  2.   

    查阅 
    ajax同步 异步
      

  3.   

    第一个alert为空 ,第二个 success后的 能输出 第三个 为空 下面第四个就能输出值了 然后alert(wcw)也能正常输出
    但是把第三第四个去掉 alert(wcw)就没有值了
      

  4.   

    在$.ajax方法中加入async :false
    意思让这个同步
    $.ajax默认是异步的,异步的话在方法里赋值,外面是取不到的
    可以找相关资料看一下
      

  5.   

    这个问题不是楼主标题上理解的那样 这是个ajax异步引起的变量值改变问题
    如果在ajax外部声明一个变量 其后续处理过程必须在ajax的handler中处理 否则会由于异步的原因 造成变量未正常赋值