这个AJAX请求有什么问题?

时间:2013-12-06 23:36:26

标签: javascript ajax get

我正在尝试自学如何使用AJAX,我想知道我在这个示例代码中做错了什么?

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==4 && xmlhttp.status==200)
        {
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","http://www.w3schools.com/ajax/ajax_info.txt",true);
    xmlhttp.send();
}
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

以下是我的代码演示:http://davidc.site40.net/AJAX/index.html

1 个答案:

答案 0 :(得分:2)

您正在尝试访问Ajax请求中的其他域。大多数现代浏览器都会阻止它以防止跨站点脚本。

例如,Chrome的开发者控制台( Ctrl + Shift + I )告诉您:

  

XMLHttpRequest无法加载http://www.w3schools.com/ajax/ajax_info.txt。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://davidc.site40.net”访问。