簡體   English   中英

jQuery-使用$ .get()加載文本文件可在Internet Explorer中運行,但不能在Google Chrome或Firefox中運行?

[英]jQuery - loading a text file with $.get() works in Internet Explorer, but not Google Chrome or Firefox?

我正在使用jQuery將(相當大的)文本文件加載到數組中。 當我在Internet Explorer中打開頁面時,陣列已完美加載-我可以將陣列中的任何元素加載到頁面上。 當我在Google Chrome / Firefox中打開頁面時,該陣列根本沒有加載。 該頁面的其余部分都可以使用,但是當我嘗試加載一個元素時,它只是說undefined數組在哪里。

我認為文件大小不是問題,因為在Internet Explorer中打開該數組時,加載速度非常快-似乎沒有任何響應。 該文件的格式為“單詞\\n單詞\\n單詞\\n單詞\\n單詞”。

這是我用來將文本文件加載到數組中的代碼:

var wordList = new Array();
    $.get('words.txt', function(data){
         wordList = data.split('\n');
    });

后來,我用它來測試數組是否已加載:

$('#words').append($('#input').val() + ' ' + wordList[word.length]);

對於上下文, #words<p>#input是文本input 我采用輸入中給出的單詞並獲取其長度,然后將其用作我先前加載的單詞列表的索引。 在Internet Explorer中,它將加載該索引處的所有內容,但在任何其他瀏覽器中,它將僅加載undefined

我做了一些研究,看來同源政策存在問題。 至少,這是我從Chrome的控制台中收到的錯誤:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我到處尋找一些解決方案,但是它們似乎都涉及尋找一種提出跨域請求的方法-不過,我認為這不是我應該做的,因為這全部在我自己PC的文件系統上。 怎么了

由於其安全性模型,您無法在Chrome / FF中打開file://鏈接。 我相信您可以下載一些擴展程序,從而使之成為可能。 通過http訪問文件可以解決問題。

相同問題的另一個答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM