Apakah itu merentas domain?
Konsep: Selagi protokol, nama domain dan port berbeza, ia dianggap sebagai domain yang berbeza.
URL menunjukkan sama ada untuk membenarkan komunikasi
http://www.a.com/a.js
http://www.a.com/b.js Dibenarkan di bawah nama domain yang sama
http://www.a.com/lab/a.js
http://www.a.com/script/b.js Folder berbeza di bawah nama domain yang sama dibenarkan
http://www.a.com:8000/a.js
http://www.a.com/b.js Nama domain yang sama, port berbeza tidak dibenarkan
http://www.a.com/a.js
https://www.a.com/b.js Nama domain yang sama, protokol berbeza tidak dibenarkan
http://www.a.com/a.js
http://70.32.92.74/b.js Nama domain dan IP yang sepadan dengan nama domain tidak dibenarkan
http://www.a.com/a.js
http://script.a.com/b.js Domain utama adalah sama tetapi subdomain adalah berbeza
http://www.a.com/a.js
http://a.com/b.js Nama domain yang sama, nama domain peringkat kedua yang berbeza (sama seperti di atas) Tidak dibenarkan (kuki tidak dibenarkan untuk diakses dalam kes ini)
http://www.cnblogs.com/a.js
http://www.a.com/b.js Nama domain yang berbeza tidak dibenarkan
Perbezaan dalam port dan protokol hanya boleh diselesaikan melalui latar belakang.
Perkongsian Sumber Rentas Asal (CORS)
Perkongsian sumber merentas domain CROS (Cross-Origin Resource Sharing) mentakrifkan cara penyemak imbas dan pelayan harus berkomunikasi apabila mengakses sumber merentas domain. Idea asas di sebalik CROS ialah menggunakan pengepala HTTP tersuai untuk membolehkan penyemak imbas berkomunikasi dengan pelayan untuk menentukan sama ada permintaan atau respons harus berjaya atau gagal.
http://example.com/data.php?callback=dosomething">>
Selepas fail js berjaya dimuatkan, fungsi yang kami tentukan dalam parameter url akan dilaksanakan dan data json yang kami perlukan akan dihantar sebagai parameter. Oleh itu, jsonp memerlukan kerjasama yang sepadan dari halaman sebelah pelayan.
$callback = $_GET['callback'];//Dapatkan nama fungsi panggil balik
$data = array('a','b','c');//Data untuk dikembalikan
echo $callback.'('.json_encode($data).')';//Output
?>
Akhir sekali, hasil output ialah: dosomething(['a','b','c']);
Jika halaman anda menggunakan jquery, anda boleh melakukan operasi jsonp dengan mudah melalui kaedah terkapsulnya.
Artikel terbaru oleh pengarang
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
Topik-topik yang berkaitan
Lagi>