这适用于IE 8,但不适用于Chrome 16.0.912.77。有什么想法吗?
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "test.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml)
{
$(xml).find("test").each(function()
{
$("#test").append("<tr><td>" + $(this).find("name").text()+"</td><td>" + $(this).find("phone").text()+"</td></tr>");
$('#test').trigger('create');
});
}
</script>
</head>
<body>
<table id="test" border="1"></table>
</body>
</html>
答案 0 :(得分:1)
如果您看到错误“Access-Control-Allow-Origin不允许使用Origin null”,则会遇到跨源资源共享问题。
http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
基本上,使用传统的AJAX,您无法访问其他来源(域)的文件。因此,site1.com无法使用常规AJAX访问site2.com上的内容。有很多方法(JSONP是最常见的)。
您正在遇到这种情况,因为您在本地计算机上运行脚本时,没有列出原点(因此错误中的“Origin null”),并且浏览器不允许您加载该文件。
如果您想继续在本地进行开发,可以使用标志启动Chrome以禁用此本地安全性。点击此处了解详情:http://code.google.com/p/chromium/issues/detail?id=40787
或者,您可以将代码移动到托管服务器,它应该在那里正常工作。