当我运行我的Web服务器时,以下工作正常,但是当我运行本地桌面(没有本地Web服务器)时,我遇到了错误。
以下是三个文件:
的index.html
<html>
<head>
<script src="jquery-1.11.1.js"></script>
</head>
<body>
<span>First or Second?</span> <input type="text" id="var"> <button type="button" onclick="load()">AJAX it</button>
<div id="container">
</div>
</body>
<script type="text/javascript">
function load()
{
input = $('#var').val() + '.html';
input = input.toLowerCase();
if (input == 'first.html')
{
$( "#container" ).load( "first.html" );
} else if (input =='second.html') {
$( "#container" ).load( "second.html" );
} else {
$('#container').html('invalid input');
}
}
</script>
</html>
first.html
first
second.html
second
但是,在进行.load()调用之一时,我收到以下错误:
XMLHttpRequest cannot load file:///C:/Users/XXXX/Desktop/XXXX/test/first.html. Received an invalid response. Origin 'null' is therefore not allowed access.
出于好奇,为什么这不起作用?该错误消息看起来类似于一些CORS错误。实际上,在向其他域发出AJAX请求时,搜索更多信息只会导致稍微相似(但不完全相同)的CORS错误消息。