NodeWebkit中的XMLHttpRequest,status = 0

时间:2013-08-22 21:55:23

标签: javascript google-chrome xmlhttprequest node-webkit

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

我希望有人可以解释,因为我很困惑。

1 个答案:

答案 0 :(得分:1)

Web服务器返回HTTP状态代码。假设您在Chrome中执行此操作时本地服务器返回200,但node-webkit只返回0(Unknown?)。

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