【发布时间】:2011-09-11 09:06:28
【问题描述】:
我使用以下代码从 javascript 读取文件
var filePath = "SBL_PROBES.txt";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",filePath,false);
xmlhttp.send(null);
var fileContent = xmlhttp.responseText;
var fileArray = fileContent.split('\n')
var n = fileArray.length;
一切顺利,我可以从 fileArray 访问文件内容。但是 Firefox 错误控制台上出现一个错误,抱怨文件第 1 行的内容。我不希望文件被 javascript 或 firefox 解释,我想要的只是我用 javascript 解析的内容。
Firefox 控制台显示
错误:语法错误 源文件:file:///C:/Documents%20and%20Settings/Mike/Desktop/mustache/SBL_PROBES.txt 行:1,列:1 源代码: "title" "Short Name" "Long Name" "Current","Maximum","Minimum","Day Max","Day Min"
如果我将<blockquote> </blockquote> 放入文件中,错误就会消失!
发生了什么,我该如何解决?
我需要做些什么来关闭文件吗?当这些变量超出范围时,事情会被清理吗?
【问题讨论】:
-
抱怨到底是什么,错误信息是什么?无论如何,使用 jQuery 之类的 Ajax 操作框架可能更可行:api.jquery.com/jQuery.ajax 可以解决跨浏览器的不一致问题
-
错误是什么? Chrome 中是否也会发生同样的情况?
-
这个文件在哪里?您需要将完整的 URL 作为第二个参数输入到
xmlhttp.open()。类似xmlhttp.open("GET","http://mydomain.com/SBL_PROBES.txt",false); -
我的代码按预期工作,文件内容被返回。唯一错误的是 Firefox 错误控制台条目。错误:语法错误源文件:file:///C:/Documents%20and%20Settings/Mike/Desktop/mustache/SBL_PROBES.txt 行:1,列:1 源代码: "title" "Short Name" "Long Name" "Current","Maximum","Minimum","Day Max","Day Min"
-
@whg:这是一个同步请求。我需要等待吗?