Rumah > hujung hadapan web > tutorial js > Bagaimanakah JSONP Menyelesaikan Isu Pemindahan Data Silang Asal?

Bagaimanakah JSONP Menyelesaikan Isu Pemindahan Data Silang Asal?

Patricia Arquette
Lepaskan: 2024-12-23 02:39:34
asal
654 orang telah melayarinya

How Does JSONP Solve Cross-Origin Data Transfer Issues?

JSONP: Primer

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
Salin selepas log masuk

Tapak web pelayan bertindak balas dengan data JSON yang dibalut dalam fungsi panggil balik yang ditentukan seperti ini:

mycallback({ foo: 'bar' });
Salin selepas log masuk

Tapak web klien mentakrifkan fungsi panggil balik, yang dilaksanakan apabila skrip dimuatkan:

mycallback = function(data){
  alert(data.foo);
};
Salin selepas log masuk

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:

  • Mendapatkan semula data daripada API luaran
  • Mendayakan komunikasi merentas tapak untuk widget dan kandungan boleh terbenam

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan