3

在我的本地服务器上执行此操作时,这适用于 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 吗?

我希望有人能解释一下,因为我很困惑。

4

1 回答 1

1

HTTP 状态代码由网络服务器返回。据推测,当您在 Chrome 中执行此操作时,您的本地服务器返回 200,但 node-webkit 只返回 0(未知?)。

通常读取本地文件是受限制的。上面的代码是否真的产生了文件内容?即便如此,如果您尝试读取 node-webkit 中的文件,我建议您使用node fs 模块直接访问文件系统。

于 2013-08-23T15:09:03.797 回答