node.js - Enregistrez la requête chaude dans nodejs et utilisez JSON.stringify(req) pour signaler une erreur. Comment la résoudre ?
世界只因有你
世界只因有你 2017-05-16 13:20:56
0
3
930
router.post("/login", function(req, res, next) {
    var file = "c:\a.txt"; 
    var str = JSON.stringify(req); 
    fs.appendFile(file, str, function(err){  
        if(err) {
            console.log(err);  
        } else {
            console.log("写入文件ok");  
        }
    }); 
});

J'apprends initialement nodejs. Lorsqu'une requête arrive, je veux voir combien d'éléments se trouvent dans la requête. Je peux l'imprimer directement à l'aide de la console, mais la console est trop inutile, donc je veux juste la sauvegarder. bloc-notes à utiliser. Ouvrez l'EDI local et voyez, et une erreur est signalée dans JSON.stringify(req).

Mon var str = req; ne fonctionnera pas ici. Si je le remplace par ceci, ce qui est enregistré dans txt est [object Object].

S'il te plaît, aide-moi, mon Dieu, quel est le problème avec ça ?

世界只因有你
世界只因有你

répondre à tous(3)
为情所困

req ne peut pas être sérialisé en json. Si vous voulez voir ce qu'il contient à l'exception de la console, vous ne pouvez utiliser que debug

.
小葫芦

req contient des champs de référence circulaires, il ne peut donc pas être stringifié. Donnez un exemple

let a = {}
let b = {a}
a.b = b
JSON.stringify(a) //TypeError: Converting circular structure to JSON
a.toString() //[Object Object]

Si vous souhaitez afficher la demande, vous pouvez la visualiser via le débogage

router.post("/login", function(req, res, next) {
    var file = "c:\a.txt"; 
    var str = JSON.stringify(req); 
    debugger; //断点
    res.end('')
});

Débogage de la ligne de commande
débogage du nœud <main.js>node debug <main.js>

chrome调试
node --inspect <main.js>

débogage Chrome🎜node --inspect <main.js>🎜
滿天的星座

Vouloir voir req dans un fichier est facile.

router.post("/login", function(req, res, next) {
    console.log(req);
});

Vous n'avez pas du tout besoin d'écrire le fichier vous-même. Entrez-le simplement directement sur la ligne de commande node app.js > ./a.log , et tout le contenu de req sera écrit dans le fichier a.log dans le répertoire de travail actuel. .js avec celui que vous souhaitez exécuter. fichier js

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal