3 votes

XMLHttpRequest dans NodeWebkit, status = 0

Cela fonctionne dans Chrome lorsque je le fais sur mon serveur local. Cependant, lorsque je le transfère sur NodeWebkit, il échoue avec status === 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 est un global et ReadFile est une fonction qui fait un peu de travail sur g_FileLoadContents... mais cela ne va pas aussi loin dans le NodeWebkit (Encore une fois, je vais souligner que tout est ok dans Chrome lorsque sur mon serveur local).

Dans NodeWebkit je vois txtFile.readyState changer jusqu'à 4, mais ensuite txtFile.status est 0.

Pourquoi l'état est 0 ? Lorsque j'utilise le nodeWebkit, dois-je simplement laisser le statut être 0 dans mon code ci-dessus ?

J'espère que quelqu'un pourra m'expliquer, car je suis très confus.

1voto

Mar Points 449

Les codes d'état HTTP sont renvoyés par les serveurs web. On peut supposer que votre serveur local renvoie 200 lorsque vous faites cela dans Chrome, mais node-webkit renvoie simplement 0 ( Inconnu ? ).

Normalement, la lecture des fichiers locaux est cependant limitée. Le code ci-dessus produit-il réellement le contenu du fichier ? Malgré tout, si vous essayez de lire des fichiers dans node-webkit, je vous suggère d'utiliser la fonction module fs de nœud pour accéder directement au système de fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X