ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery AJAX 成功コールバック関数を外部で定義することは可能ですか?

jQuery AJAX 成功コールバック関数を外部で定義することは可能ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-18 19:27:031032ブラウズ

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

jQuery AJAX の成功コールバック関数の定義

jQuery AJAX を使用してサーバーからデータを取得する場合、開発者は多くの場合、 .ajax() ブロック。しかし、コールバック関数を外部から定義することは可能ですか?

外部コールバック関数

提供されたコード スニペットは、.ajax() の外側で成功コールバック関数を定義しようとします。 block:

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
}

推奨事項: 遅延オブジェクトの使用

コード スニペットは技術的には機能する可能性がありますが、.ajax の外部で成功コールバックを定義することは推奨されなくなりました。 () ブロック。代わりに、遅延オブジェクトを使用します。

function getData() {
    return $.ajax({
        url : 'example.com',
        type: 'GET'
    });
}

function handleData(data /* , textStatus, jqXHR */ ) {
    alert(data);
    //do some stuff
}

getData().done(handleData);

遅延オブジェクトには、いくつかの利点があります。

  • 分離: コールバック処理を AJAX 処理から分離するため、メンテナンスが容易になります。 .
  • 複数のコールバック: 遅延オブジェクトは、複数の成功コールバックとエラー コールバックの追加をサポートします。
  • 同期: これらにより、次のような複数の非同期イベントの簡単な同期が可能になります。

遅延オブジェクトを使用すると、AJAX コールバック処理の柔軟性と制御が向上し、より堅牢で最新のアプローチになります。

以上がjQuery AJAX 成功コールバック関数を外部で定義することは可能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。