Rumah >hujung hadapan web >tutorial js >Adakah Mungkin untuk Mentakrifkan Fungsi Panggilan Balik Kejayaan jQuery AJAX Secara Luaran?

Adakah Mungkin untuk Mentakrifkan Fungsi Panggilan Balik Kejayaan jQuery AJAX Secara Luaran?

Barbara Streisand
Barbara Streisandasal
2024-10-18 19:27:031032semak imbas

Is It Possible to Define jQuery AJAX Success Callback Functions Externally?

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:

  • Penyahgandingan: Mereka memisahkan pengendalian panggilan balik daripada pengendalian AJAX, membolehkan penyelenggaraan lebih mudah .
  • Berbilang Panggilan Balik: Objek tertunda menyokong penambahan berbilang kejayaan dan panggilan balik ralat.
  • Penyegerakan: Mereka membolehkan penyegerakan mudah bagi berbilang acara tak segerak, seperti sebagai panggilan dan pemasa AJAX.

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!

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