Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Dapatkan Data Rentas Domain Menggunakan AJAX dan Proksi Sisi Pelayan?

Bagaimanakah Saya Boleh Dapatkan Data Rentas Domain Menggunakan AJAX dan Proksi Sisi Pelayan?

Barbara Streisand
Lepaskan: 2024-11-27 05:29:24
asal
238 orang telah melayarinya

How Can I Retrieve Cross-Domain Data Using AJAX and a Server-Side Proxy?

Pendapatan Data Rentas Domain AJAX

Apabila cuba melaksanakan permintaan HTTP AJAX ke URL merentas domain (cth., "http: //www.google.com"), penyemak imbas menguatkuasakan dasar merentas domain yang melarang pengambilan dan paparan terus data.

Satu penyelesaian yang berpotensi ialah menggunakan dataType "jsonp" dalam permintaan AJAX. Walaupun ini mungkin membenarkan anda menerima data daripada domain asing, anda mungkin menghadapi ralat sintaks disebabkan format bukan JSON bagi data yang diterima.

Untuk memintas pengehadan ini, pendekatan yang paling praktikal ialah menggunakan pelayan -bahasa sampingan sebagai proksi. Ini melibatkan penghantaran URL silang domain ke skrip pada pelayan anda sendiri (cth., skrip PHP bernama "proxy.php"), yang kemudiannya mengambil data daripada domain luaran dan menghantarnya kembali ke panggilan AJAX anda.

Berikut ialah contoh menggunakan jQuery dan proksi PHP:

jQuery Kod:

$.ajax({
    url: 'proxy.php',
    type: 'POST',
    data: {
        address: 'http://www.google.com'
    },
    success: function(response) {
        // response now contains full HTML of google.com
    }
});
Salin selepas log masuk

Skrip Proksi PHP (proxy.php):

echo file_get_contents($_POST['address']);
Salin selepas log masuk

Dengan menggunakan mekanisme proksi ini, anda boleh mendapatkan dan memaparkan data daripada sumber merentas domain dalam kekangan dasar merentas domain. Walau bagaimanapun, adalah penting untuk mengambil kira had dan potensi implikasi mengikis data daripada domain luaran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Data Rentas Domain Menggunakan AJAX dan Proksi Sisi Pelayan?. 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