Apa permintaan lintas domain?
Pemahaman sederhana adalah membuat permintaan ke file server yang tidak ada dalam nama domain yang sama. Mari kita gunakan contoh praktis untuk menggambarkan hal ini. Misalnya, Baidu.com mengirimkan permintaan ke cxyblog.com. Dua nama domain berbeda. Jadi ini domain silang. Untuk alasan keamanan, ini tidak diizinkan. Juga harus dicatat bahwa permintaan yang dikirim oleh subdomain yang berbeda, port yang berbeda dari domain yang sama, atau protokol yang berbeda dari domain yang sama, juga dianggap domain silang, dan pada dasarnya dapat diklasifikasikan ke dalam kategori berikut:
(1) http://www.baidu.com mengirimkan permintaan ke http://www.cxyblog.com
(2) http://www.cxyblog.com mengirimkan permintaan ke http://image.cxyblog.com
(3) http://www.baidu.com:8000 Kirim permintaan ke http://www.cxyblog.com
(4) http://www.cxyblog.com mengirimkan permintaan ke https://www.cxyblog.com
(5) http://www.cxyblog.com mengirimkan permintaan ke http://112.65.242.67 (dengan asumsi bahwa IP yang sesuai dengan nama domain www.cxyblog.com adalah 112.65.242.67)
Semua lima situasi di atas adalah permintaan lintas domain.
Kapan permintaan lintas domain akan digunakan?
Terkadang ketika kita perlu menggunakan JavaScript untuk melakukan operasi AJAX, kita akan menemukan operasi permintaan lintas domain semacam ini.
Mengapa permintaan lintas domain tidak dapat diimplementasikan secara langsung menggunakan JavaScript?
Karena alasan keamanan, browser tidak mengizinkan JavaScript untuk meminta sumber daya lintas domain karena pembatasan kebijakan homolog JavaScript.
Bagaimana cara menyelesaikan masalah yang tidak dapat diterapkan oleh JavaScript.
Solusi yang digunakan dalam artikel ini adalah menggunakan FlyJSONP untuk mengimplementasikan permintaan lintas domain. Flyjsonp adalah perpustakaan kelas Javascript ringan, juga dikenal sebagai plug-in JSON. Ukuran total setelah kompresi adalah sekitar 3kb, dan tidak ada kerangka kerja lain yang perlu didukung.
Alamat situs web resmi flyjsonp: http://alotaiba.github.com/flyjsonp/
Jadi bagaimana cara menggunakan perpustakaan kelas Flyjsonp untuk mengimplementasikan permintaan lintas domain?
(1) Pertama, Anda perlu memuat skrip JavaScript Flyjsonp, yaitu:
<bahasa skrip = "javascript" src = "http://www.cxyblog.com/flyjsonp.min.js"> </script>
(2) kemudian untuk menginisialisasi instance flyjsonp, parameter debug dapat diatur ke benar atau salah, yaitu: flyjsonp.init ({debug: true}), yang berarti apakah akan membuka informasi debug, dan nilai parameternya benar atau salah;
(3) Selanjutnya, gunakan metode GET atau Metode Posting untuk meminta data. Kode contoh spesifik adalah sebagai berikut:
// flyjsonp mengimplementasikan cross-domain getFunction getData () {flyjsonp.init ({debug: true}); // menginisialisasi instance flyjsonp, parameter debug dapat diatur ke target true atau false falgsonp.get ({url: 'http: //www.cxyblog.get ({url:' http: //www.cxyblog.get ({url: 'http: //www.cxyblog.get ({url: http: //www.cxyblog.get ({url: http: //www.cxyblog.get Permintaan: {// Batas Parameter Permintaan: 5}, Sukses: Function (Data) {// Console.log (data); an instance of FlyJSONP, the parameter debug can be set to true or false FlyJSONP.post({ url:'http://www.cxyblog.com/article/new', parameters:{ username:'cxyblog', api_key:'123456', title:'FlyJSONP', description:'test' }, success:function(data){ peringatan (data);}});}Catatan: Ketika server output ke klien, output harus string JSON, jika tidak klien tidak akan dapat menerimanya.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.