Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Berjaya Membuat Permintaan AJAX JSONP Cross-Domain dengan jQuery?

Bagaimanakah Saya Boleh Berjaya Membuat Permintaan AJAX JSONP Cross-Domain dengan jQuery?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 05:28:02351semak imbas

How Can I Successfully Make Cross-Domain AJAX JSONP Requests with jQuery?

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!

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