jQuery AJAX Success Callback Fungsi Definisi Di Luar .ajax() Block
Dalam jQuery, anda boleh mendapatkan semula data daripada pelayan menggunakan $. kaedah ajax(). Biasanya, fungsi panggil balik kejayaan ditakrifkan dalam blok .ajax(). Walau bagaimanapun, adalah mungkin untuk mentakrifkan panggilan balik di luar blok.
Mentakrifkan Fungsi Panggilan Balik Di Luar Blok .ajax()
Untuk menentukan panggilan balik kejayaan di luar . ajax() blok, anda harus mengembalikan hasil $.ajax() seperti berikut:
<code class="javascript">function getData() { return $.ajax({ url: 'example.com', type: 'GET' }); }</code>
Kemudian, anda boleh menggunakan kaedah .done() untuk menambah panggilan balik di luar panggilan .ajax() :
<code class="javascript">getData().done(handleData);</code>
Mengendalikan Data
Fungsi handleData boleh ditakrifkan seperti berikut:
<code class="javascript">function handleData(data) { alert(data); // Do other stuff }</code>
Data yang dihantar ke fungsi handleData ialah data yang dikembalikan daripada pelayan.
Faedah Menentukan Panggilan Balik Di Luar Blok .ajax()
Menentukan panggilan balik di luar blok .ajax() menyediakan beberapa faedah:
Contoh
Kod berikut menunjukkan cara menggunakan teknik ini:
<code class="javascript">// A trivial timer for demo purposes var timer = $.Deferred(); setTimeout(timer.resolve, 5000); // Add a `done` and an `error` handler to the AJAX call var ajax = getData().done(handleData).fail(error); // Wait for both the AJAX call and the timer to finish $.when(timer, ajax).done(function() { // Both operations have finished }); // Add an additional `done` handler to the AJAX call ajax.done(function() { // Can be added even if the AJAX call has already finished });</code>
Teknik ini berguna untuk mengasingkan fungsi AJAX daripada tindakan seterusnya dan untuk menyegerakkan berbilang operasi tak segerak.
Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan Fungsi Panggilan Balik Kejayaan AJAX jQuery Di Luar Sekatan .ajax()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!