XMLHttpRequest无法正常工作 - 没有错误

时间:2014-10-10 13:12:12

标签: javascript html

我正在努力让这个简单的请求正常运行,但我没有太多运气。 我有" test.txt"将服务器文件夹中的文件作为包含下面提供的脚本的html文件。

我在Chrome,Firefox和IE11中查看了相同结果的文件。我只能在html页面中看到"初始文本。"来自html页面的文字。没有错误,我的test.txt文件中的文本没有显示出来。

有谁能请指出我的代码是什么问题?

<!DOCTYPE html>
<html>

<head>

    <script type="text/javascript">

    var xmlHttp = createXmlHttpRequestObject();

    function createXmlHttpRequestObject(){

        var xmlHttp

        if(window.XMLHttpRequest){      
            xmlHttp = new XMLHttpRequest();
        }
        else{           
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        return xmlHttp:
    }   

    function process(){

        if(xmlHttp){
            try{                
                xmlHttp.open("GET","test.txt", true);               
                xmlHttp.onreadystatechange = handleServerResponse;              
                xmlHttp.send(null);
            }
            catch(e){
                alert( e.toString() );
            }
        }
    }

    function handleServerResponse(){        

        output = document.getElementById('output');

        if(xmlHttp.readyState==1){
            output.innerHTML += "Status 1: server connection established <br />" 
        }
        else if(xmlHttp.readyState==2){
            output.innerHTML += "Status 2: request received <br />"     
        }
        else if(xmlHttp.readyState==3){
            output.innerHTML += "Status 3: server processing <br />"    
        }
        else(xmlHttp.readyState==4){ 

                if(xmlHttp.status=200){
                    try{
                        text = xmlHttp.responseText;
                        output.innerHTML += "Status 4: request is finished and response is ready<br />" 
                        output.innerHTML += text;
                    }
                    catch(e){ 
                        alert( e.toString() );
                    }
                }
                else{
                    alert( xmlHttp.statusText );
                }
        }
    }

    </script>
</head>

<body onload="process()">
    Initial text in the html page..<br>
    <br>

    <div id="output">
    </div>

</body>



</html>

1 个答案:

答案 0 :(得分:0)

好的,我想通了......

这是一个错字和一个遗漏

return xmlHttp: -> should  be ; instead

并忘了&#34;否则&#34;

else(xmlHttp.readyState==4){ -> should be else if (xmlHttp.readyState==4){