Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php jsonp menukar data json

php jsonp menukar data json

王林
王林asal
2023-05-28 17:50:08759semak imbas

Dengan perkembangan pesat Internet mudah alih, semakin banyak tapak web mula menggunakan API Web untuk menyediakan perkhidmatan data. Apabila kami menggunakan API Web untuk mendapatkan data pada bahagian hadapan, kami biasanya menggunakan AJAX untuk membuat permintaan tak segerak. Walau bagaimanapun, disebabkan oleh sekatan dasar asal yang sama penyemak imbas, AJAX hanya boleh meminta data daripada pelayan asal yang sama, yang mengehadkan skop keupayaan bahagian hadapan untuk mendapatkan data.

Untuk menyelesaikan masalah merentas domain, teknologi jsonP wujud. Mari ketahui lebih lanjut tentang aplikasi jsonP dalam pemerolehan data bahagian hadapan.

1. Prinsip JSONP

JSONP (JSON dengan padding) ialah kaedah penghantaran data merentas domain dan mendapatkan data JSON dengan menambahkan teg skrip secara dinamik. Prinsip penggunaan JSONP di bahagian hadapan adalah seperti berikut:

Pertama, bahagian hadapan memulakan permintaan JSONP kepada pelayan dan alamat permintaan ialah alamat merentas domain. URL permintaan JSONP perlu mengandungi parameter panggil balik Bahagian belakang menjana data JSON respons berdasarkan parameter ini dan mengembalikannya ke bahagian hadapan dalam bentuk panggilan fungsi kemudian menghuraikan dan memproses data respons.

Proses khusus ditunjukkan dalam rajah di bawah:

2 Pelayan bertindak balas kepada permintaan JSONP

Tamat semasa memulakan permintaan JSONP dan pelayan perlu untuk. menjawab permintaan dengan betul. Untuk permintaan JSONP, pelayan perlu mengembalikan fungsi JavaScript dengan nama yang ditentukan dan memanggil data JSON yang dijana oleh pelayan apabila fungsi dipanggil. Berikut ialah contoh respons JSONP:

Untuk meringkaskan, pelayan perlu melaksanakan perkara berikut:

  1. Terima permintaan bahagian hadapan dan jana data JSON berdasarkan parameter panggil balik;
  2. Lulus data JSON sebagai parameter kepada fungsi JavaScript dengan nama yang ditentukan;
  3. 3. Bahagian hadapan memproses respons JSONP

Apabila pelayan membalas permintaan JSONP dengan betul, bahagian hadapan perlu memproses data respons dengan betul. Perkara yang perlu dilakukan oleh bahagian hadapan adalah seperti berikut:

Buat fungsi dengan nama yang sama berdasarkan nama fungsi yang ditentukan oleh parameter panggil balik
  1. dapatkan semula data JSON dan hantar data JSON ke hadapan sebagai parameter Created function dengan nama yang sama.
  2. Berikut ialah contoh pemprosesan JSONP:

Akhir sekali, satu perkara yang perlu kita ambil perhatian ialah apabila membuat permintaan JSONP, kerana data respons akan dikembalikan dalam borang JavaScript, jika Jika data yang dikembalikan mengandungi pernyataan JavaScript, ia perlu dilepaskan, jika tidak, ia akan menjejaskan pelaksanaan kod bahagian hadapan. Fungsi melarikan diri biasa termasuk fungsi $.parseJSON() jQuery dan fungsi JSON.parse() JavaScript.

Bersambung...

Atas ialah kandungan terperinci php jsonp menukar data json. 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