Pengenalan
JSONP, atau JSON dengan Padding, ialah sambungan JSON yang memudahkan pertukaran data antara laman web dengan asal usul yang berbeza. Ia dicipta untuk memintas sekatan Perkongsian Sumber Silang Asal (CORS) penyemak imbas.
Konsep
Apabila tapak web cuba mengakses sumber daripada tapak web lain dengan asal yang berbeza , penyemak imbas menggunakan sekatan CORS untuk mengelakkan kelemahan keselamatan. JSONP mengeksploitasi kelemahan dalam mekanisme ini dengan menggunakan teg skrip, yang tidak tertakluk pada sekatan CORS.
Cara JSONP Berfungsi
Untuk menggunakan JSONP, tapak web pelanggan menyertakan skrip yang menentukan fungsi panggil balik dan menghantar permintaan ke tapak web pelayan seperti ini:
http://www.example.net/sample.aspx?callback=mycallback
Tapak web pelayan bertindak balas dengan data JSON yang dibalut dalam fungsi panggil balik yang ditentukan seperti ini:
mycallback({ foo: 'bar' });
Tapak web klien mentakrifkan fungsi panggil balik, yang dilaksanakan apabila skrip dimuatkan:
mycallback = function(data){ alert(data.foo); };
Menyelesaikan Silang Asal Masalah
JSONP membenarkan pemindahan data rentas asal dengan menggunakan tag skrip untuk memintas sekatan CORS. Ini membolehkan tapak web berkomunikasi antara satu sama lain walaupun dihoskan pada domain yang berbeza.
Kes Penggunaan
JSONP berguna dalam situasi di mana CORS tidak tersedia, seperti:
Atas ialah kandungan terperinci Bagaimanakah JSONP Menyelesaikan Isu Pemindahan Data Silang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!