Ajax的最后的一个//处理服务器响应
function processRequest(){
//4表示请求已经完成
if(http_req.readyState == 4){
alert("正在处理服务器响应,请求已经完成");
if(http_req.status==200){
//获取服务端的响应文本
var ajaxR;
ajaxR=http_req.responseText;
//处理返回数据,这里直接返回
alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR);
return ajaxR;
}else{
alert("发送异常!");
return false;
}
}
}最后的这一步骤,在里面会有那个alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR)出现,是得到了服务器的返回,但是如何将这个给return出来呢?
试了很多中方法,就是无法得到里面的值,怎么才可以做到啊?
快崩溃了。。
小PS下:CSDN改版了,还不如以前的那么好看些。感觉字体和配色很不好看的那种,希望CSDN能够将原先的改回来。

解决方案 »

  1.   

    楼主return以后要做什么事情呢,在函数里面不能做吗?
      

  2.   

    可以return出来 只是你调用的位置不对
    事件在函数中 形成双重事件响应 稍微不注意就得不到你想要的结果这段代码没有问题 你还是看看代码的运用环境 有没有逻辑上的问题
      

  3.   

    当你调用processRequest()方法时
    1.没有调用ajax方法,http_req对象为空
    2.http_req对象的readyState很难碰巧刚好为4
    所以,楼主如果想得到ajax返回的值另外处理,还是先赋值给一个隐藏控件,再从里面取吧
      

  4.   


    同步就是程序从上至下依次执行
    异步简单的打个比方你坐火车去洛阳,中途到保定你下车买东西 火车是不会等你上车再走的,而是继续开往洛阳
    ajax--异步javascript和XML 就相当于你中途买东西 你return的时候 程序已经执行完了去掉return 定义一个全局变量 赋值flase
      

  5.   

    <script type="text/javascript">
    //处理服务器响应
    function processRequest(){
        //4表示请求已经完成
        if(http_req.readyState == 4){
            alert("正在处理服务器响应,请求已经完成");
            if(http_req.status==200){
            //获取服务端的响应文本
            var ajaxR;
            ajaxR=http_req.responseText;
            //处理返回数据,这里直接返回
            //alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR);
            //return ajaxR;
            document.getElement("getValue_id").innerHTML = ajaxR;
            }else{
                alert("发送异常!");
                return false;
            }
            }
        }
    </script>  
    <div id="getValue_id">在这里显示内容</div>
      

  6.   

    支持楼上的,呵呵,也可以指定个标签参数
    function processRequest(obj){
    ....
    document.getElement(obj).innerHTML = ajaxR;
    ...
    }