您好我正在尝试从本地计算机读取.json文件。它不会在我使用的代码中读取它:
jQuery.getJSON('../json/test.json')
.done(function(data) {
var test = data;
alert("sucsess");
})
.fail(function(data){
alert("failed");
});
我从这里得到的一切都失败了我做错了什么。我没有通过这个服务器。
答案 0 :(得分:9)
使用文件API。这是一个包含示例代码和演示的指南:
答案 1 :(得分:6)
选中此fiddle
<title>reading Text files</title>
<body>
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Print the contents of the file
var span = document.createElement('span');
span.innerHTML = ['<p>',e.target.result,'</p>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the file
//reader.readAsDataText(f,UTF-8);
//reader.readAsDataURL(f);
reader.readAsText(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</body>
答案 2 :(得分:5)
很抱歉,如果您从本地驱动器运行该页面(地址栏将包含表单文件:///您的页面路径),那么您可以从磁盘读取文件,但是如果您从webserver运行脚本({{ 3}}。)你无法从本地驱动器读取文件。它可以保护您免于窃取用户驱动器中的信息。您可能需要上传文件才能阅读
编辑:我必须把它拿回来。新的浏览器将允许您根据用户事件读取文件。如果用户单击文件输入并打开文件,则可以阅读答案 3 :(得分:2)
由于安全原因等原因,您无法通过JavaScript访问本地计算机上的文件....
JavaScript和DOM为恶意作者提供了潜在的可能性 提供脚本以通过Web在客户端计算机上运行。浏览器 作者使用两个限制包含此风险。首先,脚本运行 在沙盒中,他们只能执行与Web相关的操作,而不是 通用编程任务,如创建文件。
但我找到了这个网站,但从来没有尝试过,也许可以帮到你: Reading local files in JavaScript
编辑:如果您永远不会在网络服务器上运行代码,只在本地系统上执行代码(在浏览器中调用index.html,如:C:/Users/user/index.html你可以访问它,但是如果这个网站应该上线,我想,这不会起作用
答案 4 :(得分:0)
如果你在谈论本地(客户端)系统上的文件而不是服务器,那么用简单的javascript就不可能了。您无法访问本地文件系统资源。
答案 5 :(得分:0)
jQuery.getJSON调用是异步的,因此您只能在函数(数据){...}
内看到您的测试变量