如果我在几乎任何浏览器的地址栏中键入以下内容,我会在窗口中获得一些不错的文字
http://www.gutenberg.org/files/11/11.txt
现在,我想在我的磁盘上写一个小的html文件来做同样的事情。这是我的尝试;我一遍又一遍地浏览了这个文件的每一个字母,并检查了几个在线文件,找到了正确的JQuery& XMLHttpRequest语法,我根本看不出任何错误。但这两种方法都没有任何作用。
有什么建议吗?
爱丽丝?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" type="text/javascript"></script>
<script>
document.write('Alice?')
$.get(
'http://www.gutenberg.org/files/11/11.txt',
function(data) {
document.write(data);
alert('Load was performed.');
});
</script>
<script type="text/javascript">
(function GetURL()
{
document.write('Alice?');
var request = new XMLHttpRequest();
var url = 'http://www.gutenberg.org/files/11/11.txt';
request.open('GET', url, false);
request.send(null);
document.write(request.responseText);
})();
</script>
答案 0 :(得分:6)
这是跨域访问问题(违反同源策略)。基本上JavaScript拒绝从其他服务器加载东西(在较新的浏览器中,IE6很乐意加载任何人的所有东西)。
this article(服务器端代理,IFrame,Flash / Silverlight插件,CORS,JSONP)中列出了一些解决方法,另一个想法是EasyXDM。
答案 1 :(得分:0)
AJAX不允许您访问其他域上的文件。但是,如果您将文件保存到与HTML相同位置的硬盘驱动器中,然后使用11.txt
代替网址,则可以使用。