AJAX问题 - onreadystate不起作用

时间:2010-04-04 15:19:38

标签: javascript ajax

我遇到的问题是我的AJAX代码没有通过onreadtstate。 if(XMLHttpRequestObject)工作正常,但另一部分没有。代码如下:

enter code here function 
//Get the Ajax Object
getXmlHttpRequestObject() { 

 if (window.XMLHttpRequest  && !(window.ActiveXObject)) {
    XMLHttpRequestObject= new XMLHttpRequest();
    return XMLHttpRequestObject;
 }
 else if (window.ActiveXObject) {
     try{
     XMLHttpRequestObject=new ActiveXObject("Msxml2.XMLHTTP");
     return XMLHttpRequestObject;
     }catch(exception1){

         try{
            XMLHttpRequestObject= new ActiveXObject("Microsoft.XMLHTTP");
            return XMLHttpRequestObject;
         }catch(exception2){

         }//end exception 2
     }//end exception 1
 }//end if else
 else{
 document.getElementById('ajax_status').innerHTML='Status: Cound not create XmlHttpRequest Object.' +
'Consider upgrading your browser.';
 }
   }//end function getXmlHttpRequestObject() {

  function loadJavascript( src, url ){

XMLHttpRequestObject=getXmlHttpRequestObject();

if( XMLHttpRequestObject){
    //an alert will work here
    XMLHttpRequestObject.onreadystatechange = function()
    {
        alert("Here");
                    //Nothing at this pint works    
        if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
            includeJavaScript( sId, url, oXmlHttp.responseText );
        }
    }

}
}//end LoadJavaScript

有没有人知道会出现什么问题?

1 个答案:

答案 0 :(得分:3)

您永远不会发送您的请求。在您调用open()send()之前,XMLHttpRequest不会执行任何操作。

此外,在声明时,请不要忘记使用var为您的本地变量添加前缀。否则它们将被创建为全球性的,并且可能会发生令人讨厌的事情。