Rumah >hujung hadapan web >tutorial js >Bagaimanakah JSONP Mendayakan Perkongsian Data Merentas Domain Walaupun Sekatan Penyemak Imbas?
Memahami JSONP: Penyelesaian Perkongsian Data Merentas Domain
JSON (JavaScript Object Notation) ialah format data yang digunakan secara meluas untuk mewakili data berstruktur . Walau bagaimanapun, apabila mengakses data merentas domain yang berbeza disebabkan oleh sekatan penyemak imbas, JSON sahaja tidak mencukupi. Di situlah JSONP (JSON dengan Padding) masuk.
Apakah itu JSONP?
JSONP ialah teknik yang membenarkan perkongsian data merentas domain dengan membungkus data respons dalam panggilan fungsi, dengan itu memintas dasar asal yang sama penyemak imbas.
Mengapa JSONP Dicipta?
JSONP telah dicipta untuk menangani keperluan untuk permintaan merentas domain yang selamat dan lebih fleksibel. Ia menyelesaikan masalah mengakses sumber daripada tapak web dengan domain yang berbeza.
Bagaimana JSONP Berfungsi?
Pertimbangkan dua domain: example.com dan example.net. Apabila membuat permintaan daripada example.com kepada example.net, dasar asal yang sama menghalang akses data terus.
JSONP membenarkan permintaan merentas domain dengan membenamkan kod JavaScript ke dalam permintaan. Ini dilakukan dengan menambahkan parameter khas, biasanya dipanggil "panggilan balik", pada URL permintaan.
Contohnya:
http://www.example.net/sample.aspx?callback=myCallback
Pihak pelayan membungkus data respons dalam panggilan fungsi menggunakan parameter panggil balik yang ditentukan:
myCallback({ foo: 'bar' });
Dalam halaman yang meminta, fungsi ditakrifkan untuk mengendalikan yang masuk data:
myCallback = function(data) { alert(data.foo); };
Apabila kod JavaScript yang dibenamkan dilaksanakan, fungsi panggil balik dipanggil dengan data respons, membolehkan akses data merentas domain.
Penghadan dan Pertimbangan
Walaupun JSONP menyediakan fungsi merentas domain, ia mempunyai had, seperti sebagai:
Penyelesaian Alternatif
Disebabkan oleh keterbatasan JSONP, alternatif yang lebih moden seperti CORS (Cross-Origin Resource Sharing) telah muncul sebagai pendekatan yang lebih baik untuk permintaan silang asal. CORS menyediakan keselamatan, kawalan dan fleksibiliti yang lebih baik terhadap perkongsian data.
Atas ialah kandungan terperinci Bagaimanakah JSONP Mendayakan Perkongsian Data Merentas Domain Walaupun Sekatan Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!