2017-08-29 51 views
0

我想使用,我想用他的網卡MAC地址加密用戶ID。
cryptoJS需要JSON.stringify這些數據然後加密。
但我看到這個錯誤控制檯:如何解決node.js中的循環結構

TypeError: Converting circular structure to JSON 

這是我的代碼片段:

var mac = 'e0:23:e3:46:57:52' 
var userInfo = JSON.stringify({_id: user._id, mac: mac}) 
var cookie = crypto.AES.encrypt(userInfo, 'secret key') 
res.cookie('userInfo', cookie, { expires: new Date(Date.now() + 900000000) }) 
+0

'user._id'的類型是什麼?我認爲它可能包含循環引用。 – Thomas

+0

來自mongodb的Object.id – mo30

+0

如果錯誤來自'JSON.stringify'調用,這與加密,cookie或cryptojs無關。 – Thomas

回答

0

user._idObjectId,只需將其轉換爲字符串:

var userInfo = JSON.stringify({ _id: user._id.toString(), mac: mac }); 

而且嘗試使用util.inspect,它會自動用[Circular]替換循環鏈接。

+0

仍然顯示相同的錯誤:( – mo30

+0

mac是一個MAC ADDRESS,一個字符串 – mo30