微小的样本JQuery失败了吗?

时间:2011-03-19 02:03:28

标签: jquery html http text

有些日子就是这样的。好的,我正在尝试使用......以及任何可行的方法来获取一些文本。我认为JQuery可能是一个很好的方法,但是,为了更好的衡量,我也会尝试XMLHttpRequest。两者完全无声的失败。我想我甚至不理解这个最小,最简单的情况。这是

如果我在几乎任何浏览器的地址栏中键入以下内容,我会在窗口中获得一些不错的文字

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>

2 个答案:

答案 0 :(得分:6)

这是跨域访问问题(违反同源策略)。基本上JavaScript拒绝从其他服务器加载东西(在较新的浏览器中,IE6很乐意加载任何人的所有东西)。

this article(服务器端代理,IFrame,Flash / Silverlight插件,CORS,JSONP)中列出了一些解决方法,另一个想法是EasyXDM

答案 1 :(得分:0)

AJAX不允许您访问其他域上的文件。但是,如果您将文件保存到与HTML相同位置的硬盘驱动器中,然后使用11.txt代替网址,则可以使用。