在chrome dev工具中,我收到错误" XMLHttpRequest无法加载https://www.carcraft.atsbusinessandgames.com/xmls/carcraft_1-7-10Test.xml。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' https://carcraft.atsbusinessandgames.com'因此不允许访问。"
当文件位于同一个域时,为什么会出现此错误?
如果您需要它,请使用适用的代码: XML(页面将是空白的右键单击并查看源代码): https://carcraft.atsbusinessandgames.com/xmls/carcraft_1-7-10Test.xml
放入HTML页面的部分:
<article>
<header>
</header>
<br />
<br />
<table id="ModsList">
<tr style="font-weight: bold;">
<td>Mod Name</td>
<td>Author(s)</td>
<td>Version</td>
<td>Date added/updated</td>
<td>Description</td>
</tr>
</table>
<script src="https://www.code.jquery.com/jquery-1.8.1.min.js"></script>
<script src="/test.js"></script>
</article>
这是javascript / jquery:
$.ajax({
url: 'https://www.carcraft.atsbusinessandgames.com/xmls/carcraft_1-7-10Test.xml',
type: "Get",
dataType: 'xml',
success: function (result) {
$(result).find('Module').each(function() {
var name = $(this).attr("name");
var url = $(this).find('url').text();
var authors = $(this).find('authors').text();
var version = $(this).find('version').text();
var date = $(this).find('date').text();
var description = $(this).find('description').text();
$("#ModsList").append("<tr>" + "<td>" + "<a href=" + url + ">" + name + "</a>" + "</td>" + "<td>" + authors + "</td>" + "<td>" + version + "</td>" + "<td>" + date + "</td>" + "<td>" + description + "</td>" + "</tr>");
});
},
failure: function() {
alert("Notify the site owner that the xml file is unreadable.");
}
});
答案 0 :(得分:4)
他们不是the same domain。同源策略要求域的完全匹配。一个网址有www.
,如果它服务于同一个网站,则基本上会使其成为不同的域名。从您的AJAX调用使用的网址中删除www
。
https://www.carcraft.atsbusinessandgames.com
https://carcraft.atsbusinessandgames.com