首頁 > web前端 > js教程 > 主體

如何在 .ajax() 區塊之外定義 jQuery AJAX 成功回呼函數?

DDD
發布: 2024-10-18 19:23:29
原創
212 人瀏覽過

How to Define jQuery AJAX Success Callback Function Outside of .ajax() Block?

jQuery AJAX 成功回呼函數定義在.ajax() 區塊之外

在jQuery 中,您可以使用$. ajax()方法。通常,成功回呼函數是在 .ajax() 區塊中定義的。但是,可以在區塊外部定義回調。

在 .ajax() 區塊外部定義回呼函數

在 .ajax() 區塊外部定義成功回呼。 ajax() 區塊中,您應該返回$.ajax() 的結果,如下所示:

<code class="javascript">function getData() {
    return $.ajax({
        url: 'example.com',
        type: 'GET'
    });
}</code>
登入後複製

然後,您可以使用.done() 方法在.ajax() 呼叫之外添加回調:

<code class="javascript">getData().done(handleData);</code>
登入後複製

處理資料

handleData函數可以定義如下:

<code class="javascript">function handleData(data) {
    alert(data);
    // Do other stuff
}</code>
登入後複製

傳遞給handleData函數的資料是從伺服器傳回的伺服器數據。

在.ajax() 區塊之外定義回調的好處

在.ajax() 區塊之外定義回調提供了幾個好處好處:

  • 將AJAX 處理與回呼處理解耦。
  • 允許您新增多個回呼、錯誤處理程序等。
  • 可以更輕鬆地同步多個非同步事件。

範例

以下程式碼示範如何使用此技術:

<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>
登入後複製

此程式技術對於將AJAX 功能與AJAX 功能與後續操作解耦以及同步多個非同步操作非常有用。

以上是如何在 .ajax() 區塊之外定義 jQuery AJAX 成功回呼函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!