Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Membuat Permintaan AJAX JSONP Cross-Domain dengan jQuery?
Dalam coretan kod anda, anda cuba menghuraikan data JSON daripada perkhidmatan yang dihoskan pada domain yang berbeza menggunakan ciri AJAX jQuery. Walau bagaimanapun, permintaan AJAX merentas domain memerlukan pertimbangan tambahan untuk berfungsi dengan jayanya.
Secara lalai, penyemak imbas mengehadkan permintaan AJAX kepada URL asal yang sama kerana kebimbangan keselamatan. Untuk mengatasinya, anda mesti melaksanakan JSONP (JSON dengan Padding), yang membolehkan anda membuat permintaan merentas domain menggunakan
Dalam kod sebelah pelayan anda, anda perlu menyokong suntikan kaedah. Apabila anda menggunakan jQuery dengan 'dataType: 'jsonp'', ia menambahkan parameter pertanyaan pada URL dengan nama kaedah yang dijana secara rawak. Pelayan anda kemudiannya mesti membalut respons JSON dengan nama kaedah ini sebagai panggilan fungsi.
Pastikan pelayan anda membalut respons JSON dengan betul nama kaedah yang diluluskan dalam rentetan pertanyaan. Sebagai contoh, jika rentetan pertanyaan anda termasuk ?callback=my_callback_method, pelayan anda harus bertindak balas dengan:
my_callback_method({data bersiri json anda});
Setelah ini dilaksanakan, kod jQuery anda hendaklah menghuraikan data JSON dengan jayanya:
var result;
function jsonparser1() {
$.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; }, });
}
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Permintaan AJAX JSONP Cross-Domain dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!