recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Enregistrez la requête chaude dans nodejs et utilisez JSON.stringify(req) pour signaler une erreur. Comment la résoudre ?

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 ?

世界只因有你世界只因有你2753 Il y a quelques jours881

répondre à tous(3)je répondrai

  • 为情所困

    为情所困2017-05-16 13:22:56

    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

    .

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 13:22:56

    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>🎜

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:22:56

    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

    répondre
    0
  • Annulerrépondre