Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Membuat Titik Tamat Serasi JSONP dalam JavaScript: Panduan Komprehensif

Cara Membuat Titik Tamat Serasi JSONP dalam JavaScript: Panduan Komprehensif

Patricia Arquette
Patricia Arquetteasal
2024-10-23 00:14:31519semak imbas

How to Create JSONP-Compatible Endpoints in JavaScript: A Comprehensive Guide

Mencipta Titik Tamat Serasi JSONP dalam JavaScript

Sekatan perkongsian sumber silang (CORS) boleh menghalang komunikasi antara tapak web yang dihoskan pada domain yang berbeza. JSONP (JSON dengan padding) menyediakan penyelesaian dengan memanfaatkan pengendalian teg skrip penyemak imbas.

Cara Melaksanakan JSONP dalam PHP

Untuk mencipta titik akhir berkeupayaan JSONP dalam PHP, ikut langkah berikut:

  1. Terima parameter panggil balik dalam permintaan GET, cth., $callback = $_GET['callback'];.
  2. Balut fungsi JavaScript panggil balik respons JSON dalam penyemak imbas, cth., $callback.'('.$data.');'.
  3. Tetapkan pengepala HTTP yang sesuai untuk CORS, cth.:
<code class="php">header('Content-Type: text/javascript; charset=utf8');
header('Access-Control-Allow-Origin: http://www.example.com/');
header('Access-Control-Max-Age: 3628800');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');</code>

Kod ini mengembalikan fail JavaScript dengan objek JSON yang diluluskan sebagai parameter kepada fungsi panggil balik.

Menggunakan Titik Tamat Serasi JSONP

Gunakan teg untuk menggunakan perkhidmatan JSONP:

<code class="html"><script>
    function receiver(data) {
        console.log(data);
    }
</script>
<script src="data-service.php?callback=receiver"></script></code>

Apabila skrip dilaksanakan, fungsi penerima dipanggil dengan respons JSON, membolehkan anda mengakses data di sisi klien.

Atas ialah kandungan terperinci Cara Membuat Titik Tamat Serasi JSONP dalam JavaScript: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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