国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

node.js - nodejs中把熱request保存下來,使用JSON.stringify(req)報錯,請問怎么解決?

瀏覽:151日期:2024-07-19 08:00:19

問題描述

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'); } }); });

初步學習nodejs,當一個請求過來的時候,我想看看 這個requert中到底有多少東西,在控制臺可以直接使用console打印出來,但是控制臺太雞肋,我就想保存到記事本中 在用本地的ide打開看,結果在 JSON.stringify(req) 這里就報錯了。

我這里 把 var str = req; 這個也不行,換成這個 保存在txt中的就是 [object Object]了.

node.js - nodejs中把熱request保存下來,使用JSON.stringify(req)報錯,請問怎么解決?

求大神幫我看看, 這個是那里出了問題?

問題解答

回答1:

req是無法json序列化的,想看里面有什么除了console就只能是debug

回答2:req中存在循環引用的字段,所以無法stringify。舉個例子

let a = {}let b = {a}a.b = bJSON.stringify(a) //TypeError: Converting circular structure to JSONa.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 <main.js>

chrome調試node --inspect <main.js>

回答3:

想要在文件中看 req 很簡單。

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

壓根兒就不需要自己進行文件寫入的操作,直接命令行輸入 node app.js > ./a.log , req的所有內容就會寫入到當前工作目錄的 a.log 這個文件中,注意把 app.js 換成你要運行的js文件

主站蜘蛛池模板: 科技| 怀安县| 光泽县| 平罗县| 苏尼特右旗| 永善县| 舟山市| 沙田区| 苏尼特左旗| 壶关县| 冀州市| 大安市| 牙克石市| 郑州市| 新津县| 老河口市| 安仁县| 井陉县| 湖北省| 诏安县| SHOW| 道真| 长丰县| 绥江县| 陆川县| 白水县| 阿荣旗| 林口县| 许昌市| 永胜县| 府谷县| 陆河县| 五华县| 固始县| 高平市| 沾化县| 盖州市| 禄劝| 茌平县| 甘孜| 天长市|