0

当试图从一个内置于普通 javascript 的 ajax 调用中获取 responseText 时,Firebug 似乎看到了请求,但无法获得对 responseText 的引用。

这是函数的代码

function getAjaxResponse(){    
    var ajaxObj = getAjaxObj();
    ajaxObj.open('get', 'responsePage.php', true);
    ajaxObj.onReadyStateChanged = function(){
        if(ajaxObj.readyState == 4
            && ajaxObj.status == 200){
                //no functions are getting fired in here                
                //this does not get logged to console
                console.log(ajaxObj.responseText);
                //neither does this
                console.log(2);
        }
    };
    ajaxObj.send(null);

   //this does gets logged to console
   console.log(1);
}

ajax 对象的函数

function getAjaxObj(){
    var req;  
    if(window.XMLHttpRequest){
        try{
            req = new XMLHttpRequest();                                                                 
        } catch(e){
            req = false;
        } finally {
            return req;
        }
    } else {
        if(window.ActiveXObject){
            try{
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e){
                try{
                    req = new ActiveXObject("Msxml.XMLHTTP");
                } catch(e){
                    req = false;
                } finally {
                    return req;
            }
            }
        }
    }
}

这里也是萤火虫的观点 在此处输入图像描述

如何从 ajax 调用中获取对响应的引用?

4

2 回答 2

2

OnReadyStateChanged需要onreadystatechange。JavaScript 区分大小写。

于 2013-07-29T23:57:12.100 回答
1

ajaxObj.onReadyStateChanged:onreadystatechange都应该是小写的(并且没有尾随的'd')

于 2013-07-29T23:58:36.573 回答