2011-03-19 47 views
0

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

如果我键入以下的几乎所有的浏览器,我在一个窗口

http://www.gutenberg.org/files/11/11.txt

现在,我想要写一个小的HTML文件中获得一些不错的文本地址栏,在我的磁盘上,做同样的事情。这是我的尝试;我一次又一次地浏览了这个文件的每一个字母,然后用几个在线文档检查了正确的JQuery & XMLHttpRequest语法,我看不出任何错误。但这两种方法都没有做任何事情。

有什么建议吗?

Alice?

<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

所以你正试图做一个让你的本地文件路径而不通过浏览器(服务器)? – kjy112 2011-03-19 02:10:50

+0

我想要做的是编写一个Web应用程序,它可以从网上各种来源提取公共领域的文本 - 比如古腾堡,但也有其他的 - 并将它们结合在应用程序中,执行计算字数等操作。 JavaScript似乎是编写这样的应用程序的一个自然平台,但现在我被卡住了。我必须用Silverlight或Flash或两者兼而有之,或者是天知道什么。也许这是值得一个顶级的问题。 – 2011-03-25 14:50:52

回答

6

这是一个跨域访问的问题(违反同源策略的)。本质上,JavaScript拒绝从其他服务器加载内容(在较新的浏览器中,IE6愉快地加载了任何人的所有内容)。

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

+0

感谢您的建议! – 2011-03-19 05:48:59

0

AJAX不允许您访问不同域上的文件。但是,如果您将文件保存到与HTML相同位置的硬盘驱动器中,然后使用11.txt而不是URL,则会起作用。

+0

我明白了。有点伤心,但我明白了。感谢你的回答! – 2011-03-19 05:49:21