我有一个包含以下行的文件 foo.txt:
row1
row2
row3
我想在我的 HTML 中创建一个指向该文件的链接,并在客户端使用 Javascript 读取它。有解决方案吗?
我有一个包含以下行的文件 foo.txt:
row1
row2
row3
我想在我的 HTML 中创建一个指向该文件的链接,并在客户端使用 Javascript 读取它。有解决方案吗?
如果文件在您的服务器上,您可以使用以下内容:
jQuery.get('your_file.txt',function(data){
alert(data);
});
如果你想从你的本地系统中提取,你首先需要一个上传机制。
更新:
同步执行:
$.ajax({
url: "your_file.txt",
async: false,
success: function(data){ alert(data); }
});
文件不在您自己的服务器上:
由于安全原因,客户端 JavaScript 无法做到这一点。想象一下,您正试图访问客户端的文件系统。
虽然在 Internet Explorer 中有文件系统对象的选项,但通常在客户端机器上进行 I/O 不是一个好主意,除非没有损害它的目的。
服务器上的文件:
但是,如果您打算从自己的域/空间中读取文件,则可以使用@Fluidbyte 指出的AJAX 。
您还可以在支持它的浏览器中使用html5 的 File API 。
我建议您将文件存储在客户端浏览器的 HTML5 Localstorage 中,因为它是行,您可以将其保存在一个简单的循环中
localStorage.setItem("key1", "value1");
localStorage["key1"] = "value1";
...
编写一个服务器端脚本,逐行读取并输出javascript代码。
然后稍后阅读它,您只需要:
function listAllItems(){
for (i=0; i<=localStorage.length-1; i++)
{
key = localStorage.key(i);
val = localStorage.getItem(key);
}
}
每个网站通常会获得 5MB 的 Localstorage 空间。您可以编写一个函数来更新 Localstorage 附加一些内容并在需要时将其发送回服务器等。
var oFReader = new FileReader();
oFReader.readAsText(document.getElementById("fileImportOrExport").files[0]);
oFReader.onload = function (oFREvent) {
var fileImportOrExportContent = oFREvent.target.result;
}
oFReader.onerror = function (OFREvent) {
alert("Error in reading");
}