Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah JSONP dengan jQuery dan PHP Menyelesaikan Isu Permintaan Silang Asal?

Bagaimanakah JSONP dengan jQuery dan PHP Menyelesaikan Isu Permintaan Silang Asal?

Barbara Streisand
Lepaskan: 2024-12-08 07:13:14
asal
658 orang telah melayarinya

How Can JSONP with jQuery and PHP Solve Cross-Origin Request Issues?

Permintaan Silang Asal dengan JSONP: Contoh jQuery dan PHP yang Mudah

Dalam contoh ini, kami akan menangani cabaran silang- permintaan asal menggunakan JSONP, teknik elegan yang membolehkan komunikasi antara JavaScript dan pelayan web daripada berbeza domain.

Mari bayangkan anda mahu menghantar permintaan silang asal daripada klien jQuery ke pelayan PHP dan mendapatkan semula respons tersuai. Untuk mencapai matlamat ini, kami akan menggunakan kaedah $.getJSON jQuery untuk memulakan permintaan JSONP.

Skrip jQuery:

$.getJSON('http://example.com/jsonp.php?callback=?', 'firstname=Jeff', function(response) {
  alert('Your name is ' + response.fullname);
});
Salin selepas log masuk

Pelayan PHP Skrip:

<?php
$firstname = $_GET['firstname'];
if ($firstname == 'Jeff') {
  header('Content-Type: application/json');
  echo $_GET['callback'] . '(' . json_encode(['fullname' => 'Jeff Hansen']) . ')';
}
?>
Salin selepas log masuk

Penjelasan:

Apabila anda memanggil $.getJSON dengan URL yang mengandungi '?callback=?', jQuery mengendalikan JSONP secara automatik permintaan. Skrip PHP sebelah pelayan bertindak balas dengan objek JSON yang dibalut dalam panggilan fungsi yang sepadan dengan panggilan balik yang disediakan oleh jQuery. Dalam kes ini, panggilan balik diluluskan sebagai parameter pertama dalam permintaan GET.

Mengendalikan Respons HTML:

Jika anda ingin mengembalikan HTML dalam respons , anda boleh menggunakan fungsi dan bukannya objek JSON dalam skrip PHP:

<?php
$firstname = $_GET['firstname'];
if ($firstname == 'Jeff') {
  header('Content-Type: text/html');
  echo '<h1>Welcome, Jeff Hansen!</h1>';
}
?>
Salin selepas log masuk

Dan di sebelah jQuery, anda boleh mengendalikan respons sebagai seperti:

$.getJSON('http://example.com/jsonp.php?callback=?', 'firstname=Jeff', function(response) {
  $('#container').html(response);
});
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah JSONP dengan jQuery dan PHP Menyelesaikan Isu Permintaan 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