Rumah >hujung hadapan web >tutorial js >Adakah Mungkin untuk Mentakrifkan Fungsi Panggilan Balik Kejayaan jQuery AJAX Secara Luaran?
Mentakrifkan Fungsi Panggilan Balik Kejayaan untuk jQuery AJAX
Apabila mendapatkan semula data daripada pelayan menggunakan jQuery AJAX, pembangun sering mentakrifkan fungsi panggil balik kejayaan dalam .ajax() blok. Walau bagaimanapun, adakah mungkin untuk mentakrifkan fungsi panggil balik secara luaran?
Fungsi Panggilan Balik Luaran
Coretan kod yang disediakan cuba mentakrifkan fungsi panggil balik kejayaan di luar .ajax() blok:
var dataFromServer; //declare the variable first function getData() { $.ajax({ url : 'example.com', type: 'GET', success : handleData(dataFromServer) }) } function handleData(data) { alert(data); //do some stuff }
Pengesyoran: Gunakan Objek Tertunda
Walaupun coretan kod mungkin berfungsi secara teknikal, tidak disyorkan lagi untuk mentakrifkan panggilan balik kejayaan di luar .ajax () blok. Sebaliknya, gunakan objek tertunda:
function getData() { return $.ajax({ url : 'example.com', type: 'GET' }); } function handleData(data /* , textStatus, jqXHR */ ) { alert(data); //do some stuff } getData().done(handleData);
Objek tertunda memberikan beberapa kelebihan:
Menggunakan objek tertunda menawarkan lebih fleksibiliti dan kawalan ke atas pengendalian panggil balik AJAX, menjadikannya pendekatan yang lebih mantap dan moden.
Atas ialah kandungan terperinci Adakah Mungkin untuk Mentakrifkan Fungsi Panggilan Balik Kejayaan jQuery AJAX Secara Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!