Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membetulkan \'TypeError: Menukar Struktur Pekeliling kepada JSON\' dalam Sambungan Chrome `sendRequest`?

Bagaimana untuk Membetulkan \'TypeError: Menukar Struktur Pekeliling kepada JSON\' dalam Sambungan Chrome `sendRequest`?

Linda Hamilton
Linda Hamiltonasal
2024-12-23 13:47:16504semak imbas

How to Fix

Menyelesaikan "TypeError: Menukar Struktur Pekeliling kepada JSON" dalam Chrome sendRequest

Dalam sambungan Chrome, menggunakan chrome.extension.sendRequest untuk berkomunikasi dengan skrip latar belakang boleh membawa kepada "TypeError: Menukar Pekeliling Ralat struktur kepada JSON". Ralat ini berlaku apabila objek permintaan mengandungi rujukan bulat, menghalangnya daripada ditukar kepada format JSON untuk penghantaran.

Pertimbangkan coretan kod berikut:

chrome.extension.sendRequest({
  req: "getDocument",
  docu: pagedoc,
  name: 'name'
}, function(response) {
  var efjs = response.reply;
});

Jika objek pagedoc mengandungi rujukan pekeliling, seperti yang dijelaskan di bawah, kod akan gagal dengan ralat yang disebutkan di atas.

var a = {};
a.b = a;

Dalam Data JSON, rujukan pekeliling tidak dibenarkan. Nod DOM juga mempamerkan rujukan bulat, walaupun ia tidak dilampirkan pada pepohon dokumen. Contohnya, setiap nod mempunyai sifat ownerDocument yang merujuk dokumen dan document.body.ownerDocument merujuk dokumen itu semula; ini hanyalah salah satu daripada banyak rujukan pekeliling dalam pepohon DOM.

Penyelesaian

Untuk menyelesaikan isu ini, kenal pasti dan alih keluar rujukan pekeliling daripada objek permintaan. Contohnya, jika pagedoc ialah nod DOM, anda boleh mengalih keluarnya daripada objek permintaan dan sebaliknya menyertakan hanya sifatnya yang berkaitan. Sebagai alternatif, anda boleh menggunakan pustaka yang mengendalikan rujukan bulat.

Dengan mengikut langkah ini, anda boleh menyelesaikan ralat "TypeError: Menukar Struktur Pekeliling kepada JSON" dalam panggilan sendRequest sambungan Chrome dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'TypeError: Menukar Struktur Pekeliling kepada JSON' dalam Sambungan Chrome `sendRequest`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn