Alasan JavaScript lintas domain adalah karena pembatasan kebijakan homologi browser, js pada nama domain saat ini hanya dapat membaca atribut jendela di domain yang sama, sehingga terjadi lintas domain. Kebijakan asal yang sama berarti bahwa untuk memastikan keamanan informasi pengguna dan mencegah situs web jahat mencuri data, browser melarang interaksi JS antara domain yang berbeda.
Cara cepat memulai VUE3.0: Masuk ke
lingkungan pengoperasian tutorial ini: Sistem Windows 10, JavaScript versi 1.8.5, komputer Dell G3.
Masalah lintas domain dibatasi oleh kebijakan asal yang sama dari browser.
Karena pembatasan kebijakan asal yang sama pada browser. Kebijakan asal yang sama adalah sebuah konvensi. Ini adalah fungsi keamanan inti dan paling dasar dari browser. Jika kebijakan asal yang sama tidak ada, fungsi normal browser mungkin terpengaruh. Dapat dikatakan bahwa Web dibangun atas dasar kebijakan asal yang sama. Browser hanyalah implementasi dari kebijakan asal yang sama. Kebijakan asal yang sama mencegah skrip JavaScript dari satu domain berinteraksi dengan konten dari domain lain. Yang disebut asal yang sama (yaitu, dalam domain yang sama) berarti kedua halaman tersebut memiliki protokol, host, dan nomor port yang sama.
Sederhananya, kebijakan asal yang sama berarti bahwa untuk memastikan keamanan informasi pengguna dan mencegah situs web jahat mencuri data, browser melarang interaksi JS antara domain yang berbeda. Untuk browser, selama salah satu nama domain, protokol, dan port berbeda, kebijakan asal yang sama akan terpicu, sehingga membatasi interaksi berikut di antara keduanya:
1. Cookie, LocalStorage, dan IndexDB tidak dapat dibaca
; DOM tidak dapat diperoleh;
3. Permintaan AJAX tidak dapat dikirim.
Definisi yang lebih ketat dari lintas domain adalah: selama protokol, nama domain, dan portnya berbeda, maka dianggap sebagai lintas domain.
Solusi lintas domain
JSONP: Anda perlu menambahkan dataType: "jsonp" dalam metode permintaan, //Format data disetel ke jsonp, jsonp: "callback", //Jquery menghasilkan nama parameter verifikasi
1, tipe data, parameter ini harus disetel ke jsonp
2. jsonp, nilai parameter ini harus disepakati dengan sisi server
nginx reverse proxy
webpack Konfigurasikan proxy terbalik: langsung gunakan devServer perancah untuk mengonfigurasi proxy terbalik guna menyelesaikan masalah lintas domain di proses pengembangan
Berbagi sumber daya lintas domain (CORS)
Nodejs lintas domain: Gunakan nodejs secara lokal untuk menyiapkan server, panggil server backend melalui server itu, kembalikan data, lalu kembalikan ke server front-end -domain
Protokol WebSocket. Lintas domain
melalui JSONP.
Pahami sendiri: JSONP adalah src menggunakan tag skrip. Untuk mencapai atribut lintas domain, Anda hanya dapat menggunakan permintaan get untuk mendapatkan data yang Anda inginkan.
Prinsip JSONP: Front-end mendefinisikan metode yang baik dan meneruskannya ke back-end melalui atribut src. Back-end mendapatkan metode tersebut dan kemudian meneruskannya. Setelah memasukkan metode penyambungan data, itu diteruskan ke ujung depan. Ujung depan menggunakannya sebagai metode untuk memanggil
JSONP. Ini terutama menambahkan panggilan balik dalam metode permintaan yang dienkapsulasi. Panggilan balik ini disetujui oleh ujung depan dan belakang
.
Di atas adalah rincian alasan JavaScript lintas domain. Konten, harap perhatikan artikel terkait lainnya di situs web php Cina untuk informasi lebih lanjut!