在我的本地服务器上执行此操作时,这适用于Chrome。但是,当我转移到NodeWebkit时,它失败,状态为=== 0。
function ReadText(filename) {
var txtFile = new XMLHttpRequest();
txtFile.open("GET", filename, true);
txtFile.onreadystatechange = function () {
if (txtFile.readyState === 4) // Makes sure the document is ready to parse.
{
if (txtFile.status === 200) // Makes sure it's found the file.
{
g_FileLoadContents = txtFile.responseText;
ReadFile();
}
}
}
txtFile.send(null);
};
g_FileLoadContents是一个全局的,ReadFile是一个在g_FileLoadContents上做一些工作的函数......但它在NodeWebkit中没有那么多(再次,我强调在我的本地服务器上Chrome中的一切都没问题)。
在NodeWebkit中我看txtFile.readyState最多改为4,但是txtFile.status为0。
为什么状态为0?当我使用nodeWebkit时,我应该在上面的代码中让状态为0吗?
我希望有人可以解释,因为我很困惑。
答案 0 :(得分:1)
Web服务器返回HTTP状态代码。假设您在Chrome中执行此操作时本地服务器返回200,但node-webkit只返回0(Unknown?)。
但是通常读取本地文件是受限制的。上面的代码实际上是否产生了文件内容?即便如此,如果您尝试读取node-webkit中的文件,我建议您使用node fs module直接访问文件系统。