var data=$.ajax({type:"POST",async:"false",url:"Admin/AjaxPages/regist.ashx",data:{type:"ncpd",nc:NickName}}).responseText;有返回值IE下能获到 火狐不行  我就是想直接获到

解决方案 »

  1.   

    var data=$.ajax({type:"POST",async:"false",url:"Admin/AjaxPages/regist.ashx",data:{type:"ncpd",nc:NickName},error:function(){alert("失败了")}}).responseText; 
      

  2.   

    $.ajax(
    {type:"POST",
    async:"false",
    url:"Admin/AjaxPages/regist.ashx",
    data:{type:"ncpd",nc:NickName}
    success:function(data)
    {
      alert(data);
    }
    })这样是有值的  火狐 IE都有 
    我就是想要个全局的直接获到
      

  3.   

    在ff中工具有个错误控制台中看下有什么错误 一步步的调试下  
    $.ajax(
    {
    .........
    }
    )
      

  4.   


    var global_hello = '';
    $.ajax( 
    {type:"POST", 
     async:"true",//写成异步的 
     url:"Admin/AjaxPages/regist.ashx", 
     data:{type:"ncpd",nc:NickName} 
     success:function(data) 
     { 
        global_hello = data; 
     } 
    }) 
      

  5.   

    值都有就是火狐获不到
    不知道用什么方式可以获到
    var ret=$.ajax({type:"POST",async:"false",url:"Admin/AjaxPages/regist.ashx",data:{type:"ncpd",nc:NickName}});
    alert(ret);(好奇怪 弹一下了下面就可以获得值)
    var data=ret.responseText;
    alert(data);(可以获到)
      

  6.   


    我写了一个全局变量 global_hello,不过很危险。应在你使用 global_hello 之前进行判断。
    if(global_hello == ''){
       alert('ajax没有及时返回数据');
    }else{
       alert('global_hello 变量可以用:  ' + global_hello);
    }
      

  7.   

    //代码
            var ncBlur=function(){
            var NickName=$("#nc").val();
                if(NickName.indexOf("@")>=0)
                {
                    setErrorMessage($("#nc"),document.getElementById("ncSpan"),"昵称不能输入@符号");
                    return false;
                }
                    var data=$.ajax({type:"POST",
    async:"false",
    url:"Admin/AjaxPages/regist.ashx",
    data:{type:"ncpd",nc:NickName}}).responseText;
                           if(data=="0")
                              {
                                 setRightMessage($("#nc"),document.getElementById("ncSpan"));
                                 return true;
                              }else
                              {
                                setErrorMessage($("#nc"),document.getElementById("ncSpan"),data);
                                return false;
                              } ;
            }
    想直接获到data
      

  8.   


    不奇怪,原因如下:
    1、你是ajax提交,那么数据从客户端浏览器到服务器,要花费时间
    2、最花费时间的是你的后台运算时间,生成满足你需求格式的json串。
    3、如果你对1000万条数据进行一个汇总,然会返回你的汇总的结果(比如价格之和),那么这一个1000万条数据的汇总就花费了很长的时间
    4、当你alert()一下的时候,是不是页面的行为被阻止了?alert()的一个作用就是组织程序继续向下一个步骤进行。当你点击alert上面的确定按钮的时候,你需要一个手点击的操作时间。这个时间比后台程序的时间长,那么后台已经成功返回了你需要的结果。
    5、如果没有alert()呢,程序就会瞬间完成,去执行下面的js代码。而实际上ajax调用后台的程序还没有返回你要的结果,当然取不到数值了。解决方法:后面的函数执行时,你可以在settimeout函数里面写,设置一个 1000ms 的延迟时间,一般后台都可以把数据返回到ajax里面了。=== 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  9.   

    你必须延时,否则你的ajax还没有返回 ret ,js就开始执行下面的语句了。这个延迟多少,你是不知道,我也不知道。凭经验。你写个5000ms 不够么? 不行你就写 5000 * 2 ms。客户问起来,你就如实的告知:数据量太大,我才用了延迟加载。客户会不知道自己的数据量巨大无比?(另一个办法,去优化你后天的程序算法,减少它的执行速度。)
    随让你非要写这个需求呢?你要得到他,就得付出时间!那就是延迟。
    === 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  10.   

     这个帖子 很有用 www.msheji.com