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
Linda Hamiltonasal
2024-11-19 08:51:02694semak imbas

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
}

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})

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!

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
Artikel sebelumnya:Objek dalam JavaScriptArtikel seterusnya:Objek dalam JavaScript