Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Apakah perbezaan antara jsonp dan ajax

Apakah perbezaan antara jsonp dan ajax

青灯夜游
Lepaskan: 2022-01-13 18:16:59
asal
3588 orang telah melayarinya

Perbezaan: 1. Teras ajax adalah untuk mendapatkan kandungan bukan halaman ini melalui xmlHttpRequest, manakala teras jsonp adalah untuk menambah tag skrip secara dinamik untuk memanggil skrip js yang disediakan oleh pelayan; menyokong mendapatkan permintaan, manakala ajax menyokong mendapatkan dan menghantar permintaan.

Apakah perbezaan antara jsonp dan ajax

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Kaedah panggilan ajax dan jsonp adalah sangat serupa Tujuannya adalah untuk meminta url dan kemudian memproses data yang dikembalikan oleh pelayan Oleh itu, jquery dan ext dan rangka kerja lain merangkumkan jsonp sebagai bentuk ajax. . Mari kita lihat jsonp dan ajax dan perkenalkan perbezaannya.

1. Prinsip kerja Ajax

Ia bersamaan dengan menambah lapisan perantaraan (enjin AJAX) antara pengguna dan pelayan, jadi bahawa Operasi pengguna dan respons pelayan adalah tidak segerak. Enjin Ajax akan melakukan beberapa pengesahan data dan pemprosesan data untuk permintaan pengguna Tidak semua permintaan diserahkan kepada pelayan Apabila data baharu perlu dibaca dari pelayan, enjin Ajax menyerahkan permintaan kepada pelayan bagi pihaknya. Kelebihan terbesar AJAX ialah ia berkomunikasi dengan pelayan untuk mengekalkan data tanpa menyegarkan keseluruhan halaman.

Proses:

Langkah 1: Buat objek enjin ajax, IE6 ialah ActiveXObject baharu, pelayar lain ialah objek xmlHttpRequest baharu

Langkah 2: Panggil Kaedah terbuka bermula a permintaan untuk dihantar. Kaedah terbuka lulus dalam tiga parameter: jenis permintaan, url permintaan dan nilai Boolean

Langkah ketiga: hubungi kaedah hantar untuk menghantar

Langkah keempat : Proses fungsi panggil balik onreadystatechange, proses data respons apabila readState = 4 (data respons selesai), dan status = 200 (permintaan berjaya).

Nota: Fungsi panggil balik mesti ditulis sebelum open() dan send().

2. Cara Jsonp berfungsi

Buat teg skrip secara dinamik dan gunakan atribut src teg skrip untuk mencapai akses merentas domain tanpa sekatan.

Klien web memanggil fail format js (akhiran .json) yang dijana secara dinamik pada pelayan merentas domain dengan cara yang sama seperti memanggil skrip Tujuan fail json dijana secara dinamik oleh pelayan adalah untuk memuatkan data yang diperlukan oleh pelanggan.

Membenarkan pengguna menghantar parameter panggil balik ke pelayan, dan kemudian apabila pelayan mengembalikan data, ia akan menggunakan parameter panggil balik ini sebagai nama fungsi untuk membalut data json, supaya pelanggan boleh menyesuaikan fungsinya sendiri untuk mengendalikan data pemulangan secara automatik.

3 Perbezaan antara Ajax dan jsonp

  • Inti ajax adalah untuk mendapatkan kandungan bukan halaman ini melalui xmlHttpRequest;

    Inti jsonp adalah untuk menambahkan tag skrip secara dinamik untuk memanggil skrip js (akhiran .json) yang disediakan oleh pelayan.

  • jsonp ialah kaedah atau protokol bukan mandatori, dan ajax tidak semestinya perlu menggunakan format json untuk menghantar data.

  • jsonp hanya menyokong permintaan mendapatkan, dan ajax menyokong permintaan mendapatkan dan menyiarkan.

[Cadangan tutorial berkaitan: Tutorial video AJAX]

Atas ialah kandungan terperinci Apakah perbezaan antara jsonp dan ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan