我有一些Javascript代码来读取文件。我在浏览器中打开从我的本地文件系统文件:
var rawFile = new XMLHttpRequest();
rawFile.open("GET", "test.txt", false);
rawFile.onreadystatechange = function() {
if(rawFile.readyState === 4) {
if(rawFile.status === 200 || rawFile.status == 0) {
findWord(rawFile.responseText.split("\n"));
}
}
}
rawFile.send(null);
这只是正常的,但它在Chrome弃用。发现后,我试图用$.get()
这样的:
$.get("test.txt", function(result) {
alert(result);
});
但它甚至没有警觉。
有没有办法在Chrome和Firefox中阅读此文件?请注意,我不想使用任何种类的<input type="file">
,并且文本数据必须以文件的行数组形式返回。
我收到来自Chrome的警告和错误当使用$.get()
和$.ajax()
。
错误:
index.html:36 XMLHttpRequest cannot load file:///C:/Users/mz/Dropbox/Shubs/test.txt. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
我还没有在服务器上运行。所以本地主机在这种情况下不起作用。
您是否在开发控制台上有任何错误? – IceManSpy
@IceManSpy是的,等一下,编辑我的帖子 –
'$ .get'不能在'file:///'上工作。考虑不要为本地文件系统上的事情做AJAX。 – apokryfos