ホームページ >ウェブフロントエンド >jsチュートリアル >プロトタイプの `onComplete` ハンドラーを使用して AJAX 応答テキストにアクセスするにはどうすればよいですか?

プロトタイプの `onComplete` ハンドラーを使用して AJAX 応答テキストにアクセスするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-12 12:41:11783ブラウズ

How Can I Access AJAX Response Text Using Prototype's `onComplete` Handler?

プロトタイプでの AJAX 応答テキストの取得

AJAX 応答は多くの場合テキスト形式であり、このテキストの取得はその後の処理にとって重要です。プロトタイプは、この応答テキストにアクセスする便利な方法を提供しますが、通常のアプローチに若干の調整が必要です。

コード スニペットでは、onComplete イベント ハンドラーが応答テキストを取得する場所です。ただし、初期実装の "result" 変数は、非同期操作のため、onComplete 関数の外部からはアクセスできません。

これを克服するために、Prototype の onComplete ハンドラーでは、パラメーターとしてコールバック関数を使用できます。このコールバック関数は、AJAX リクエストが完了したときに実行され、responseText を引数として受け取ることができます。

変更されたコードは次のとおりです。

somefunction: function(callback) {
  var result = "";
  myAjax = new Ajax.Request(postUrl, {
    method: 'post',
    postBody: postData,
    contentType: 'application/x-www-form-urlencoded',
    onComplete: function (transport) {
      if (200 == transport.status) {
        result = transport.responseText;
        callback(result);
      }
    }
  });
}

somefunction を呼び出すときに、コールバック関数を指定します。匿名関数として:

somefunction(function (result) {
  alert(result);
});

このアプローチにより、コールバック関数内で応答テキストにアクセスできるようになり、さらなる処理や表示します。

以上がプロトタイプの `onComplete` ハンドラーを使用して AJAX 応答テキストにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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