鍍金池/ 問(wèn)答/HTML/ 輸出node.js中服務(wù)器接收到的請(qǐng)求request對(duì)象報(bào)錯(cuò),為什么呢

輸出node.js中服務(wù)器接收到的請(qǐng)求request對(duì)象報(bào)錯(cuò),為什么呢

JSON.stringify()是傳入一個(gè)對(duì)象,request也是一個(gè)對(duì)象,為什么就報(bào)錯(cuò)呢?

代碼:
圖片描述

錯(cuò)誤:
圖片描述

回答
編輯回答
我不懂

打印一下request的json格式是否正確

2018年3月15日 03:29
編輯回答
奧特蛋

這個(gè)報(bào)錯(cuò)說(shuō)明你的 request 對(duì)象的 json 有循環(huán)的引用,例如 var a = {}; a.a = a; 這樣,在 chrome 中可以點(diǎn)開(kāi)會(huì)一直向下,但是 JSON.stringify 就會(huì)報(bào)錯(cuò)。

解決方法就是自定義一個(gè) formatter ,例如:

var cache = [];
JSON.stringify(a, function(key, value) {
    if (value && typeof value === 'object') {
        if (cache.includes(value)) {
            return;
        }
        cache.push(value);
    }
    return value;
});
2018年4月19日 09:54