Rumah > hujung hadapan web > tutorial js > Mengapa permintaan jQuery AJAX JSONP saya gagal mengembalikan data daripada sumber merentas domain?

Mengapa permintaan jQuery AJAX JSONP saya gagal mengembalikan data daripada sumber merentas domain?

Linda Hamilton
Lepaskan: 2024-11-19 08:51:02
asal
671 orang telah melayarinya

Why is my jQuery AJAX JSONP request failing to return data from a cross-domain source?

Buat Cross-Domain AJAX JSONP Request dengan jQuery

Penjelasan Masalah

Apabila cuba menghuraikan data tatasusunan JSON menggunakan jQuery AJAX dengan kod yang disediakan, pengguna tidak menerima sebarang output.

Konsep Penjelasan

Panggilan AJAX merentas domain memerlukan perkhidmatan web menyokong suntikan kaedah untuk JSONP berfungsi. Kod klien kelihatan sah, tetapi isunya mungkin terletak pada domain aplikasi web dan perkhidmatan web.

Apabila menggunakan dataType jQuery: 'jsonp', parameter ?callback={some_random_dynamically_generated_method} ditambahkan pada URL pertanyaan. Kaedah ini bertindak sebagai proksi dalam objek tetingkap, serupa dengan:

window.some_random_dynamically_generated_method = function(actualJsonpData) {
  successCallback(actualJsonData); // Calls the success function passed to $.ajax
}
Salin selepas log masuk

Pengubahsuaian Bahagian Pelayan

Untuk menangani masalah, kod sebelah pelayan mesti diubah suai untuk membalut JSON data dalam nama fungsi yang sepadan dengan yang diluluskan dengan rentetan pertanyaan. Contohnya, jika rentetan pertanyaan termasuk ?callback=my_callback_method, jawapan pelayan hendaklah:

my_callback_method({your json serialized data})
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa permintaan jQuery AJAX JSONP saya gagal mengembalikan data daripada sumber merentas domain?. 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