Rumah >hujung hadapan web >tutorial js >Mengapakah `chrome.extension.sendRequest` Gagal dengan Ralat \'Menukar struktur bulat kepada JSON\'?
Menyingkap Ralat Rujukan Pekeliling dalam 'chrome.sendRequest'
Apabila menggunakan 'chrome.extension.sendRequest', anda mungkin menghadapi masalah yang membingungkan Ralat "TypeError: Menukar struktur bulat kepada JSON". Ralat ini sering timbul apabila objek yang anda hantar dalam permintaan (biasanya disimpan dalam 'pagedoc') mengandungi rujukan bulat.
Rujukan bulatan berlaku apabila objek dalam 'pagedoc' merujuk kepada dirinya sendiri atau objek lain dalam 'pagedoc', mencipta gelung tak terhingga. Sebagai contoh, anda mungkin mentakrifkan sifat bersarang seperti ini:
var a = {}; a.b = a;
Dalam senario ini, JSON.stringify tidak boleh mengekod struktur bulat kerana ia akan menghasilkan gelung tak terhingga apabila cuba mensiri objek.
Nod DOM dan Rujukan Pekeliling
Terutama, DOM nod selalunya mengandungi rujukan bulat, walaupun ia tidak disambungkan ke pepohon DOM. Setiap nod mempunyai sifat 'ownerDocument' yang biasanya menunjuk ke objek 'document'. Objek 'dokumen' pula, mempunyai berbilang rujukan kembali ke pepohon DOM melalui 'document.body' dan 'document.body.ownerDocument'. Pekeliling ini wujud dalam struktur hierarki DOM.
Oleh itu, apabila berurusan dengan nod DOM dalam permintaan 'chrome.sendRequest' anda, pastikan anda menangani sebarang rujukan pekeliling untuk mengelakkan isu ini.
Atas ialah kandungan terperinci Mengapakah `chrome.extension.sendRequest` Gagal dengan Ralat \'Menukar struktur bulat kepada JSON\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!