2011-03-19 48 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