達(dá)令說(shuō)
2019-07-25 16:14:15
Chrome sendrequest錯(cuò)誤:TypeError:將循環(huán)結(jié)構(gòu)轉(zhuǎn)換為JSON我有以下......chrome.extension.sendRequest({
req: "getDocument",
docu: pagedoc,
name: 'name'}, function(response){
var efjs = response.reply;});它調(diào)用以下..case "getBrowserForDocumentAttribute":
alert("ZOMG HERE");
sendResponse({
reply: getBrowserForDocumentAttribute(request.docu,request.name)
});
break;但是,我的代碼永遠(yuǎn)不會(huì)到達(dá)“ZOMG HERE”,而是在運(yùn)行時(shí)拋出以下錯(cuò)誤 chrome.extension.sendRequest Uncaught TypeError: Converting circular structure to JSON
chromeHidden.JSON.stringify
chrome.Port.postMessage
chrome.initExtension.chrome.extension.sendRequest
suggestQuery有誰(shuí)知道是什么原因引起的?
3 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
這意味著你在請(qǐng)求中傳遞的對(duì)象(我猜它是pagedoc
)有一個(gè)循環(huán)引用,如:
var a = {};a.b = a;
JSON.stringify
不能轉(zhuǎn)換像這樣的結(jié)構(gòu)。
注意:DOM節(jié)點(diǎn)就是這種情況,它們具有循環(huán)引用,即使它們沒(méi)有附加到DOM樹(shù)。每個(gè)節(jié)點(diǎn)都有一個(gè)在大多數(shù)情況下ownerDocument
引用的節(jié)點(diǎn)document
。document
具有至少一個(gè)通過(guò)參考DOM樹(shù)document.body
和document.body.ownerDocument
指回document
再次,這是唯一一個(gè)在DOM樹(shù)中的多個(gè)循環(huán)引用。

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
一種方法是從主對(duì)象中剝離對(duì)象和函數(shù)。并將更簡(jiǎn)單的形式字符串化
function simpleStringify (object){ var simpleObject = {}; for (var prop in object ){ if (!object.hasOwnProperty(prop)){ continue; } if (typeof(object[prop]) == 'object'){ continue; } if (typeof(object[prop]) == 'function'){ continue; } simpleObject[prop] = object[prop]; } return JSON.stringify(simpleObject); // returns cleaned up JSON};
添加回答
舉報(bào)
0/150
提交
取消