非常简单的ajax XmlHttpRequest代码无效

时间:2013-03-31 05:59:33

标签: jquery ajax xmlhttprequest

我刚开始在W3Schools网站上学习ajax。在Try it editor on W3Schools.com页面上,当我尝试以下代码时,我得到了正确的响应,因为我们可以从代码中获得正确的响应。您也可以尝试将代码复制并粘贴到给定的链接页面上“提交代码”,单击“更改内容” “响应中的按钮。

 <!DOCTYPE html>
    <html>
        <head>
            <script>
                function loadXMLDoc()
                {
                    var xmlhttp;
                    if (window.XMLHttpRequest)
                    {// code for IE7+, Firefox, Chrome, Opera, Safari
                        xmlhttp=new XMLHttpRequest();
                    }
                    else
                    {// code for IE6, IE5
                        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    xmlhttp.onreadystatechange=function()
                    {
                        if (xmlhttp.readyState==0)
                        {
                            document.getElementById("myDiv").innerHTML="0: request not initialized";
                        }if (xmlhttp.readyState==1)
                        {
                            document.getElementById("myDiv").innerHTML="Server connection establish";

                        }if (xmlhttp.readyState==2)
                        {
                            document.getElementById("myDiv").innerHTML="Request has been sent";
                        }if (xmlhttp.readyState==3)
                        {
                            document.getElementById("myDiv").innerHTML="Server is processing the request";
                        }
                        if (xmlhttp.readyState==4 && xmlhttp.status==200)
                        {
                            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                        }
                    }
                    xmlhttp.open("GET","http://www.w3schools.com/ajax/ajax_example.asp",true);
                    xmlhttp.send();
                }
            </script>
        </head>
        <body>

            <div id="myDiv"><h2>Let AJAX change this text</h2></div>
            <button type="button" onclick="loadXMLDoc()">Change Content</button>

        </body>
    </html>

但是当我在自己的html文件中尝试相同的代码并单击“更改内容”按钮时,我会按此顺序更改竞争(请输入错误类型)

  • 已建立服务器连接
  • 请求已发送。

之后没有任何反应。我已连接到互联网,也可以在浏览器中打开链接(Firefox)。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您无法使用本地html文件中编写的代码中的ajax访问其他域地址。跨域ajax请求要求您使用jsonp来访问该数据。

首先,由于您在发出ajax请求时已经在w3schools域内,因此它可以正常工作。