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
812
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是无法json序列化的,想看里面有什么除了console就只能是debug

    小葫芦

    req中存在循环引用的字段,所以无法stringify。举个例子

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

    如果你想查看req,可以通过调试来查看

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

    命令行调试
    node debug

    chrome调试
    node --inspect

      滿天的星座

      想要在文件中看 req 很简单。

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

      压根儿就不需要自己进行文件写入的操作,直接命令行输入node app.js > ./a.log, req的所有内容就会写入到当前工作目录的 a.log 这个文件中,注意把 app.js 换成你要运行的js文件

        Derniers téléchargements
        Plus>
        effets Web
        Code source du site Web
        Matériel du site Web
        Modèle frontal
        À propos de nous Clause de non-responsabilité Sitemap
        Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!