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

Barbara Streisand
Lepaskan: 2024-10-18 19:27:03
asal
940 orang telah melayarinya

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
}
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!