使用AJAX时Chrome出错

时间:2013-06-10 06:45:09

标签: ajax google-chrome

好的,我一直在Ajax工作,当我在IE中运行它工作正常 这是HTML代码:

    <!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<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==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","https://www.dropbox.com/s/tq4qhxqtqpgjd57/ajax_info.txt",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>

问题是当我在Chrome中运行它时,它会出现这个错误:

XMLHttpRequest cannot load https://www.dropbox.com/s/tq4qhxqtqpgjd57/ajax_info.txt. Origin file:// is not allowed by Access-Control-Allow-Origin. 

我尝试使用-allow-file-access-from-files但是它不起作用或者我使用错了

也有人可以解释为什么会出现这种错误?

2 个答案:

答案 0 :(得分:0)

您应该检查该DIR文件的保管箱设置中的访问权限。

答案 1 :(得分:0)

我看到你已经将JQuery包含在你的页面中了。只需使用

$('#myDiv').load("https://www.dropbox.com/s/tq4qhxqtqpgjd57/ajax_info.txt");

使用JQuery可以忽略浏览器兼容性问题,并使您的代码更具可读性。