Membuat Permintaan JSONP AJAX Cross-Domain dengan jQuery
Apabila cuba menghuraikan data tatasusunan JSON menggunakan jQuery ajax silang domain, adalah penting untuk ambil perhatian bahawa pelayan jauh yang mengehos data mesti menyokong suntikan kaedah untuk JSONP berfungsi dengan betul.
Dalam kod anda, blok berikut memulakan permintaan AJAX menggunakan dataType: 'jsonp':
$.ajax({ type: "GET", url: "http://10.211.2.219:8080/SampleWebService/sample.do", dataType: "jsonp", success: function (xml) { alert(xml.data[0].city); result = xml.code; document.myform.result1.value = result; }, });
Apabila jQuery melaksanakan permintaan ini, ia menambahkan ?callback={some_random_dynamically_generated_method} pada URL. Kaedah ini, biasanya dilampirkan pada objek tetingkap, bertindak sebagai proksi dan kelihatan seperti ini:
window.some_random_dynamically_generated_method = function(actualJsonpData) { // Calls the success callback successCallback(actualJsonData); }
Walaupun kod sebelah pelanggan anda kelihatan betul, adalah penting untuk mengubah suai kod sebelah pelayan anda untuk membungkus anda Data JSON dengan nama fungsi yang dihantar melalui rentetan pertanyaan. Sebagai contoh, jika URL permintaan termasuk ?callback=my_callback_method, pelayan harus bertindak balas dengan data JSON yang dibalut dalam struktur berikut:
my_callback_method({your json serialized data});
Ini memastikan data JSON berjaya dihuraikan dan disediakan kepada pelanggan anda -kod sebelah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Membuat Permintaan AJAX JSONP Cross-Domain dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!